Menu
CoddyTech

محوّلات المسارات

جزء من قسم أساسيات Django في رحلة Django على Coddy. الدرس 6 من 23.

يوجد رمز QR على كل طاولة في المقهى، ويحتاج كل رمز إلى صفحته الخاصة. يمكن لمسار واحد مطابقتها جميعًا عندما يكون جزء منه محوّل مسار. قد يستخدم التقويم اثنين:

path("calendar/<int:year>/<int:month>/", views.calendar),

الجزء المحصور بين علامتي الزاوية هو محوّل: نوع، ونقطتان، واسم. يطابق int عددًا صحيحًا ويحوله إلى int في Python. ويحصل العرض على كل قيمة كوسيط يحمل ذلك الاسم:

def calendar(request, year, month):
    return HttpResponse(f"<h2>{month} / {year}</h2>")

بالنسبة إلى /calendar/2026/3/، يستدعي Django الدالة calendar(request, year=2026, month=3). أما العنوان الذي لا يطابقه المحوّل، مثل /calendar/next/3/، فيعرض خطأ 404 «الصفحة غير موجودة»، ولا يُنفَّذ العرض مطلقًا.

challenge icon

التحدي

سهل

اجعل لكل طاولة صفحة خاصة بها.

  1. في menu/urls.py، أضف مسارًا واحدًا يطابق /table/5/ و/table/12/ وأي عدد صحيح آخر. وجّهه إلى views.table.
  2. في menu/views.py، اكتب عرضًا باسم table. معاملها الثاني يحمل اسم المحوّل. وتُعيد <h1>Table 5</h1> للطاولة 5.

افتح /table/12/: سترى Table 12.

جرّب بنفسك

from django.urls import path

from . import views

urlpatterns = [
    path("", views.home),
    path("about/", views.about),
    path("hours/", views.hours),
    path("contact/", views.contact),
]

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

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