Menu
CoddyTech

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.

challenge icon

Défi

Facile

Attribuez 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 vue table qui 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

Entraînez-vous par vous-même : Playground Django