Voici Ponta, un chien Shiba. Je suis allé à Lawson avec mon propriétaire. Les chiens ne peuvent pas entrer dans le magasin, alors quand j'attendais dehors, ils m'ont acheté un kun. Le propriétaire semble accumuler des points sur la carte Ponta. Même si les noms sont les mêmes, la carte Ponta est un personnage Tanuki.
Maintenant, affichons-le dans une vue basée sur la classe aujourd'hui. La plus grande question est de savoir comment transmettre la valeur obtenue à partir de l'URL à la vue basée sur les classes.
urls.py Pour le moment, urls.py ressemble à ceci.
wan/urls.py
from django.urls import path
from . import views
app_name = 'wan'
urlpatterns = [
path('<dogname>/<diarydate>/', views.WanView.as_view(), name='index'),
]
Je vais définir WanView dans views.py, donc j'utilise "views.WanView.as_view ()". as_view () est une fonction qui satisfait les conditions de la vue de Django. [^ 1]
views.py Les principaux views.py.
Entrez le nom du modèle dans nom_modèle. Remplacement de get_context_data pour obtenir la valeur de l'URL. [^ 2] Vous pouvez obtenir la valeur avec self.kwargs.get.
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 + "journal de s"
context['description'] = "Le riz d'aujourd'hui est de la viande grillée!"
return context
Pareil qu'hier.
À bientôt mon cher! Bye Bye!
[^ 1]: Quelle est la vue as_view basée sur les classes de Django? [^ 2]: Modèle TemplateView dont vous souhaitez vous souvenir en premier avec Django
Recommended Posts