Menu
CoddyTech

الروابط المسماة

جزء من قسم أساسيات 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/"، وستتبع جميع العناوين المُنشأة من الاسم هذا التغيير.

challenge icon

التحدي

سهل
  • في 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),
]
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس أساسيات Django

تدرّب بنفسك: Playground لـ Django