[PYTHON] Was ist ein Hund? Django - Umfang der Verwendung von Werten, die von der URL in der klassenbasierten Ansicht erhalten wurden

Verwenden Sie die klassenbasierte Ansicht

Dies ist Ponta, ein Shiba-Hund. Ich ging mit meinem Besitzer nach Lawson. Hunde können den Laden nicht betreten. Als ich draußen wartete, kauften sie mir ein Kun. Der Besitzer scheint Punkte auf der Ponta-Karte zu sammeln. Obwohl die Namen gleich sind, ist die Ponta-Karte ein Tanuki-Charakter.

Lassen Sie es uns heute in der klassenbasierten Ansicht anzeigen. Die größte Frage ist, wie der von der URL erhaltene Wert an die klassenbasierte Ansicht übergeben werden kann.

urls.py Derzeit sieht urls.py so aus.

wan/urls.py


from django.urls import path
from . import views

app_name = 'wan'

urlpatterns = [
    path('<dogname>/<diarydate>/', views.WanView.as_view(), name='index'),
]

Ich werde WanView in views.py definieren, also verwende ich "views.WanView.as_view ()". as_view () ist eine Funktion, die die Bedingungen von Djangos Ansicht erfüllt. [^ 1]

views.py Die Hauptansichten.

Geben Sie den Vorlagennamen in Vorlagenname ein. Get_context_data wurde überschrieben, um den Wert von der URL abzurufen. [^ 2] Sie können den Wert mit self.kwargs.get erhalten.

from django.views import generic

class WanView(generic.TemplateView):
    
    template_name = "wan/index.html"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        diarydate = self.kwargs.get('diarydate')
        dogname = self.kwargs.get('dogname')

        context['year'] = diarydate[:4]
        context['month'] = diarydate[4:6]
        context['date'] = diarydate[6:]
        
        context['title'] = dogname + "s Tagebuch"
        context['description'] = "Der heutige Reis ist gegrilltes Fleisch!"

        return context

Test anzeigen

スクリーンショット 2020-08-26 7.01.00.png

Das gleiche wie gestern.

Wir sehen uns! Tschüss!

[^ 1]: Was ist Djangos klassenbasierte Ansicht as_view? [^ 2]: TemplateView-Muster, an das Sie sich zuerst mit Django erinnern möchten

Recommended Posts

Was ist ein Hund? Django - Umfang der Verwendung von Werten, die von der URL in der klassenbasierten Ansicht erhalten wurden
Was ist ein Hund? POST-Übertragungsvolumen mit Django--forms.py
Was ist ein Hund? Volumen der GET-Anforderungen und Abfrageparameter
Was ist ein Hund? Django - Umfang, in dem Name und Datum von der URL abgerufen werden
Was ist ein Hund? Django-Installationsvolumen
Was ist ein Hund? Python-Installationsvolumen
Extrahieren Sie Elemente (mithilfe einer Liste von Indizes) wie NumPy aus einer Python-Liste / einem Python
Was ist ein Hund? Django - Erstellen Sie ein benutzerdefiniertes Benutzermodell
Laden Sie Bilder von der URL mit Pillow in Python 3
Was ist ein Hund? Django - Erstellen Sie ein benutzerdefiniertes Benutzermodell 2
Zeichnen Sie YouTube-Aufrufe mit Lambda in einer Tabelle auf
Dies ist ein Beispiel für eine Funktionsanwendung im Datenrahmen.
Was ist ein Hund? Django App Creation Start Volume - Startprojekt
Zeigen Sie ein Histogramm der Bildhelligkeitswerte in Python an
Was ist ein empfohlener Motor? Zusammenfassung der Typen
So erstellen Sie eine Instanz einer bestimmten Klasse aus dict mit __new__ () in Python
Started Python: Tauschen Sie das im SQL-Ergebnis erhaltene Array von Werten in den Listentyp aus und verwenden Sie es in IN einer anderen Abfrage