Nazwane adresy URL
Część sekcji Podstawy Django ścieżki Django w Coddy. Lekcja 10 z 23.
Strona główna powinna zawierać link do strony About. Wpisywanie "/about/" w każdym linku działa do czasu zmiany adresu, po czym wszystkie linki przestają działać. Zamiast tego nadaj każdej trasie nazwę i zbuduj na jej podstawie adres. Plik urls.py aplikacji shop:
app_name = "shop"
urlpatterns = [
path("cart/", views.cart, name="cart"),
path("products/<slug:slug>/", views.product, name="product"),
]app_name umieszcza nazwy w przestrzeni nazw: pełna nazwa to "shop:cart", więc dwie aplikacje mogą mieć każda własną trasę home. reverse() zamienia nazwę z powrotem na adres. Gdy aplikacja shop jest dołączona pod ścieżką shop/:
from django.urls import reverse
reverse("shop:cart") # "/shop/cart/"
reverse("shop:product", args=["mug"]) # "/shop/products/mug/"Wywołaj reverse() wewnątrz widoku. Na początku pliku views.py jest wykonywane, zanim trasy będą dostępne.
Zmień "cart/" na "basket/", a każdy adres zbudowany na podstawie nazwy zostanie zaktualizowany.
Wyzwanie
ŁatwyPołącz stronę główną ze stroną „O nas” za pomocą nazwy.
- W pliku
menu/urls.pyustawapp_namena"menu"i nazwij każdą trasę tak jak odpowiadający jej widok:home,about,hours,contact,table,drink,order. - W pliku
menu/views.pyzaimportujreversezdjango.urls. W widokuhomedodaj linkAbout us, któregohrefma wartośćreverse("menu:about").
Kliknij „About us”: otworzy się strona „O nas”.
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),
path("table/<int:number>/", views.table),
path("drinks/<slug:slug>/", views.drink),
path("order/", views.order),
]
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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