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 i nazwa. int pasuje do liczby całkowitej i zamienia ją na typ int w Pythonie. 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, do którego konwerter nie pasuje, na przykład /calendar/next/3/, zwraca błąd 404, a widok nigdy się nie uruchamia.
Wyzwanie
ŁatwyKażdy stolik powinien mieć własną stronę:
- w
menu/urls.pyjedna trasa, która pasuje do/table/5/,/table/12/i każdej innej liczby całkowitej; - w
menu/views.pywidoktable, który zwraca<h1>Table 5</h1>dla stolika 5 i tak dalej.
/table/abc/ zwraca błąd 404. Naciśnij Uruchom: podgląd otworzy /table/5/.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