Menu
CoddyTech

صفحة لكل مشروب

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

أصبحت مشروبات المقهى الآن ضمن DRINKS، وهو قاموس في menu/views.py. مفاتيحه، مثل flat-white، هي مقاطع URL: كلمات بأحرف صغيرة تفصل بينها شرطات، ومهيأة للاستخدام في عنوان URL.

يطابق المحوّل slug الأحرف والأرقام والشرطات والشرطات السفلية. وهنا يمنح كل فرد من طاقم العمل صفحةً، ويبحث عنه في قاموس:

path("team/<slug:handle>/", views.team_member),


def team_member(request, handle):
    person = STAFF[handle]
    return HttpResponse(f"<h2>{person['role']}</h2>")

بالنسبة إلى /team/maya-cohen/، يحصل العرض على handle="maya-cohen" ويستخدمه مفتاحًا. يخدم مسار واحد وعرض واحد القاموس بأكمله: فالإضافة الجديدة تحصل على صفحتها دون الحاجة إلى كتابة أي شيفرة جديدة.

challenge icon

التحدي

سهل

أنشئ صفحة لكل مشروب في DRINKS على المسار /drinks/ متبوعًا بمفتاحه:

  • مسار واحد يطابق /drinks/latte/ و/drinks/flat-white/ وكل مفتاح آخر؛
  • عرض drink يُظهر اسم المشروب داخل <h1>، ثم وصفه داخل <p>.

اضغط على Run: ستُفتح المعاينة على /drinks/latte/.

جرّب بنفسك

from django.http import HttpResponse

DRINKS = {
    "espresso": {"name": "Espresso", "price": 2.5, "description": "A short, strong shot of coffee."},
    "latte": {"name": "Latte", "price": 3.5, "description": "Espresso with lots of steamed milk."},
    "flat-white": {"name": "Flat White", "price": 3.75, "description": "Espresso with a thin layer of silky milk."},
    "hot-chocolate": {"name": "Hot Chocolate", "price": 3, "description": "Dark chocolate melted into warm milk."},
}


def home(request):
    return HttpResponse("<h1>Welcome to Corner Café</h1><p>Fresh coffee and cake every day.</p>")


def about(request):
    return HttpResponse("Corner Café opened in 2026.")


def hours(request):
    return HttpResponse("Open every day from 8:00 to 18:00.")


def contact(request):
    return HttpResponse("Write to us at hello@cornercafe.example.")


def table(request, number):
    return HttpResponse(f"<h1>Table {number}</h1>")
quiz iconاختبر نفسك

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

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

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