Convertitori di percorso
Fa parte della sezione Fondamenti di Django del percorso Django di Coddy. Lezione 6 di 23.
Ogni tavolo del bar ha un codice QR e ogni codice ha bisogno di una propria pagina. Un percorso può corrispondere a tutti quando una sua parte è un convertitore di percorso. Un calendario potrebbe usarne due:
path("calendar/<int:year>/<int:month>/", views.calendar),La parte tra parentesi angolari è un convertitore: un tipo, due punti, un nome. int corrisponde a un numero intero e lo converte in un int Python. La vista riceve ciascun valore come argomento con quel nome:
def calendar(request, year, month):
return HttpResponse(f"<h2>{month} / {year}</h2>")Per /calendar/2026/3/, Django chiama calendar(request, year=2026, month=3). Un indirizzo che il convertitore non riconosce, come /calendar/next/3/, restituisce 404 e la vista non viene mai eseguita.
Sfida
FacileAssegna una pagina a ogni tavolo:
- in
menu/urls.py, una route che corrisponde a/table/5/,/table/12/e a qualsiasi altro numero intero; - in
menu/views.py, una vistatableche restituisce<h1>Table 5</h1>per il tavolo 5 e così via.
/table/abc/ restituisce 404. Premi Esegui: l’anteprima si apre su /table/5/.Provalo tu
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
path("hours/", views.hours),
path("contact/", views.contact),
]
Tutte le lezioni di Fondamenti di Django
4Layout e file statici
Ereditarietà dei templateUn titolo per ogni pagina2URL dinamici
Convertitori di percorsoUna pagina per ogni bevandaStringhe di queryGenerare Http404Esercitati da solo: Playground Django