[PYTHON] Qu'est-ce qu'un chien? Django - Volume d'utilisation des valeurs obtenues à partir de l'URL dans une vue basée sur les classes

Utiliser la vue basée sur la classe

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

Test d'affichage

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

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

Qu'est-ce qu'un chien? Django - Volume d'utilisation des valeurs obtenues à partir de l'URL dans une vue basée sur les classes
Qu'est-ce qu'un chien? Volume de transmission POST à l'aide de Django--forms.py
Qu'est-ce qu'un chien? Volume de requêtes GET et paramètres de requête
Qu'est-ce qu'un chien? Django - Volume d'obtention du nom et de la date à partir de l'URL
Qu'est-ce qu'un chien? Volume d'installation de Django
Qu'est-ce qu'un chien? Volume d'installation Python
Extraire des éléments (en utilisant une liste d'index) comme NumPy d'une liste / taple Python
Qu'est-ce qu'un chien? Django - Créer un modèle utilisateur personnalisé
Charger des images à partir d'une URL à l'aide de Pillow dans Python 3
Qu'est-ce qu'un chien? Django - Créer un modèle utilisateur personnalisé 2
Enregistrer des vues YouTube sur une feuille de calcul à l'aide de Lambda
Ceci est un exemple d'application de fonction dans dataframe.
Qu'est-ce qu'un chien? Volume de démarrage de la création de l'application Django - startproject
Afficher un histogramme des valeurs de luminosité de l'image en python
Qu'est-ce qu'un moteur de recommandation? Résumé des types
Comment créer une instance d'une classe particulière à partir de dict en utilisant __new__ () en python
Python démarré: échangez le tableau de valeurs obtenu dans le résultat SQL vers le type de liste et utilisez-le dans IN d'une autre requête