Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Połącz stronę główną ze stroną „O nas” za pomocą nazwy.

  1. W pliku menu/urls.py ustaw app_name na "menu" i nazwij każdą trasę tak jak odpowiadający jej widok: home, about, hours, contact, table, drink, order.
  2. W pliku menu/views.py zaimportuj reverse z django.urls. W widoku home dodaj link About us, którego href ma 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),
]
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy Django

Poćwicz samodzielnie: Edytor online Django