Exercice - Créer des vues
Nous voulons mettre à jour notre application pour fournir la liste des refuges pour chiens. Nous souhaitons également que l’application permette à un utilisateur de cliquer ou d’appuyer sur un refuge pour voir les informations le concernant. Pour ce faire, nous allons créer deux vues, puis enregistrer les chemins appropriés.
Créer des vues
Dans Visual Studio Code, ouvrez dog_shelters/views.py.
À la fin de la ligne
from django.shortcuts import render
, ajoutez, get_object_or_404
. La ligne contient désormais le texte suivant :from django.shortcuts import render, get_object_or_404
Sous la ligne
from django.shortcuts import render
, ajoutez le code Python suivant pour importer vos gabarits :from . import models
À la fin de views.py, ajoutez le code suivant pour charger tous les refuges, créez l’objet de contexte pour le gabarit, puis affichez le gabarit pour l’utilisateur. Cela deviendra la vue de liste de tous les refuges ainsi que la page par défaut de notre site.
def shelter_list(request): shelters = models.Shelter.objects.all() context = {'shelters': shelters} return render(request, 'shelter_list.html', context)
À la fin de views.py, ajoutez le code suivant pour charger un refuge selon son
pk
(clé primaire), créez l’objet de contexte pour le gabarit, puis affichez le gabarit pour l’utilisateur. Celle-ci deviendra la page d’informations du refuge.def shelter_detail(request, pk): shelter = get_object_or_404(models.Shelter, pk=pk) context = {'shelter': shelter} return render(request, 'shelter_detail.html', context)
Créer le URLconf
Pour que nos vues puissent être appelées, nous devons inscrire les chemins appropriés.
Créez un fichier nommé urls.py dans dog_shelters.
Ajoutez le code suivant afin d’inscrire les chemins pour les deux vues que nous avons créées :
from django.urls import path from . import views urlpatterns = [ path('', views.shelter_list, name='shelter_list'), path('shelter/<int:pk>', views.shelter_detail, name='shelter_detail'), # More patterns to come later ]
Notez que nous avons créé un chemin par défaut (''
) pour pointer vers notre vue shelter_list
. Nous avons également inscrit shelter/<int:pk>
pour référencer notre vue shelter_detail
. Comme nous l’avons dit plus tôt, pk
sera passé à shelter_detail
en tant que paramètre pk
.
Inscrire URLconf dans notre projet
Pour son URLconf, Django utilise un fichier urls.py principal. Par conséquent, nous devons vérifier que celui que nous avons créé est correctement inscrit.
Ouvrez project/urls.py.
Vers le bas du fichier, recherchez la ligne 17 qui comprend le texte suivant :
from django.urls import path
À la fin de la ligne, ajoutez
, include
. La nouvelle ligne 17 doit désormais contenir le texte suivant :from django.urls import path, include
Sous la ligne
TODO: Register URLconf
, ajoutez le code suivant :# TODO: Register URLconf path('', include('dog_shelters.urls')),
Important
La virgule de fin est obligatoire.
Enregistrez tous les fichiers en sélectionnant Fichier>Tout enregistrer.