الروابط المسماة
جزء من قسم أساسيات Django في رحلة Django على Coddy. الدرس 10 من 23.
ينبغي أن ترتبط الصفحة الرئيسية بصفحة «حول». إن كتابة "/about/" في كل رابط تنجح إلى أن يتغير العنوان، وعندئذٍ تتعطل جميع الروابط. بدلًا من ذلك، امنح كل مسار اسمًا وأنشئ العنوان انطلاقًا منه. ملف urls.py لتطبيق متجر:
app_name = "shop"
urlpatterns = [
path("cart/", views.cart, name="cart"),
path("products/<slug:slug>/", views.product, name="product"),
]app_name يضع الأسماء في مساحة أسماء: الاسم الكامل هو "shop:cart"، لذا يمكن لتطبيقين أن يكون لكل منهما home. تحوّل reverse() الاسمَ إلى عنوان. عند تضمين المتجر تحت shop/:reverse("shop:cart") # "/shop/cart/"
reverse("shop:product", args=["mug"]) # "/shop/products/mug/"غيّر "cart/" إلى "basket/"، وستتبع جميع العناوين المُنشأة من الاسم هذا التغيير.
التحدي
سهل- في
menu/urls.py، عيّنapp_name = "menu"وسمِّ كل مسار:homeوaboutوhoursوcontactوtableوdrinkوorder. - في الصفحة الرئيسية، أضف بعد الفقرة رابطًا
<a href="...">About us</a>يكون عنوانه مأخوذًا منreverse("menu:about").
اضغط على تشغيل ثم انقر على «معلومات عنا».
جرّب بنفسك
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),
]
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس أساسيات Django
تدرّب بنفسك: Playground لـ Django