Convertisseurs de chemin
Fait partie de la section Les bases de Django du Journey Django de Coddy. Leçon 6 sur 23.
Chaque table du café possède un code QR, et chaque code a besoin de sa propre page. Une route peut les faire correspondre tous si une partie de celle-ci est un convertisseur de chemin. Un calendrier peut en utiliser deux :
path("calendar/<int:year>/<int:month>/", views.calendar),La partie entre chevrons est un convertisseur : un type, un deux-points, un nom. int correspond à un nombre entier et le convertit en int Python. La vue reçoit chaque valeur comme argument portant ce nom :
def calendar(request, year, month):
return HttpResponse(f"<h2>{month} / {year}</h2>")Pour /calendar/2026/3/, Django appelle calendar(request, year=2026, month=3). Une adresse qui ne correspond pas au convertisseur, comme /calendar/next/3/, renvoie une erreur 404 et la vue n’est jamais exécutée.
Défi
FacileAttribuez une page à chaque table :
- dans
menu/urls.py, une route qui correspond à/table/5/,/table/12/et à tout autre nombre entier ; - dans
menu/views.py, une vuetablequi renvoie<h1>Table 5</h1>pour la table 5, et ainsi de suite.
/table/abc/ renvoie une erreur 404. Appuyez sur Exécuter : l’aperçu s’ouvre sur /table/5/.Essayez vous-même
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
path("hours/", views.hours),
path("contact/", views.contact),
]
Toutes les leçons de Les bases de Django
1Votre premier site Django
Bonjour, DjangoUne deuxième page4Mises en page et fichiers statiques
Héritage des templatesUn titre pour chaque page2URLs dynamiques
Convertisseurs de cheminUne page pour chaque boissonChaînes de requêteLever Http404Entraînez-vous par vous-même : Playground Django