Konwertery ścieżek
Część sekcji Podstawy Django ścieżki Django w Coddy. Lekcja 6 z 23.
Każdy stolik w kawiarni ma kod QR, a każdy kod potrzebuje własnej strony. Jedna trasa może pasować do wszystkich, jeśli jej częścią jest konwerter ścieżki. Kalendarz może używać dwóch:
path("calendar/<int:year>/<int:month>/", views.calendar),Część ujęta w nawiasy ostrokątne to konwerter: typ, dwukropek, nazwa. int dopasowuje liczbę całkowitą i zamienia ją na wartość typu Python int. Widok otrzymuje każdą wartość jako argument o tej nazwie:
def calendar(request, year, month):
return HttpResponse(f"<h2>{month} / {year}</h2>")Dla adresu /calendar/2026/3/ Django wywołuje calendar(request, year=2026, month=3). Adres, którego konwerter nie dopasuje, na przykład /calendar/next/3/, powoduje błąd 404 „Nie znaleziono strony”, a widok nigdy się nie uruchamia.
Wyzwanie
ŁatwyUtwórz osobną stronę dla każdego stolika.
- W pliku
menu/urls.pydodaj jedną trasę, która pasuje do/table/5/,/table/12/i każdej innej liczby całkowitej. Skieruj ją doviews.table. - W pliku
menu/views.pynapisz widoktable. Jego drugi parametr ma nazwę konwertera. Zwraca<h1>Table 5</h1>dla stolika 5.
Otwórz /table/12/: zobaczysz stolik 12.
Spróbuj swoich sił
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
path("hours/", views.hours),
path("contact/", views.contact),
]
Wszystkie lekcje w sekcji Podstawy Django
4Układy i pliki statyczne
Dziedziczenie szablonówTytuł dla każdej strony2Dynamiczne adresy URL
Konwertery ścieżekStrona dla każdego napojuCiągi zapytaniaZgłaszanie wyjątku Http404Poćwicz samodzielnie: Edytor online Django