Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Assegna 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 vista table che 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

Esercitati da solo: Playground Django