Adlandırılmış URL'ler
Coddy'nin Django Journey'sinin Django Temelleri bölümünün bir parçası. Ders 10 / 23.
Ana sayfa, Hakkında sayfasına bağlantı vermelidir. Her bağlantıda "/about/" yazmak, adres değişene kadar işe yarar; sonra tüm bağlantılar bozulur. Bunun yerine her rotaya bir ad ver ve adresi bu addan oluştur. Bir mağaza uygulamasının urls.py dosyası:
app_name = "shop"
urlpatterns = [
path("cart/", views.cart, name="cart"),
path("products/<slug:slug>/", views.product, name="product"),
]app_name, adları bir ad alanına koyar: tam ad "shop:cart" olur; böylece iki uygulamanın da home adlı bir rotası olabilir. reverse(), bir adı yeniden adrese dönüştürür. shop/ altında eklenen mağaza uygulaması için:
from django.urls import reverse
reverse("shop:cart") # "/shop/cart/"
reverse("shop:product", args=["mug"]) # "/shop/products/mug/"reverse() işlevini bir görünümün içinde çağır. views.py dosyasının en üstünde çağrılırsa rotalar oluşturulmadan önce çalışır.
"cart/" ifadesini "basket/" olarak değiştir; addan oluşturulan tüm adresler de buna göre değişir.
Görev
KolayAna sayfayı, adına göre Hakkında sayfasına bağla.
menu/urls.pyiçindeapp_namedeğerini"menu"olarak ayarla ve her rotayı kendi görünümünün adıyla adlandır:home,about,hours,contact,table,drink,order.menu/views.pyiçindereverseöğesinidjango.urlsiçinden içe aktar.homeiçinde,hrefdeğerireverse("menu:about")olan birAbout usbağlantısı ekle.
“About us” bağlantısına tıkla: Hakkında sayfası açılır.
Kendin dene
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),
]
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Django Temelleri bölümündeki tüm dersler
2Dinamik URL'ler
Yol DönüştürücüleriHer İçecek İçin Bir SayfaSorgu DizeleriHttp404 Hatası YükseltmeKendi başına pratik yap: Django playground