Menu
CoddyTech

التنقّل في الموقع

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

يحتوي الموقع الآن على خمس صفحات تستخدم التخطيط المشترك (وأصبحت صفحة «حول» لها قالب أيضًا)، لكن قائمة التنقل في base.html تعرض ثلاث صفحات، ولا تُظهر أبدًا الصفحة التي أنت فيها.

يمكن لكل قالب قراءة request، أي الطلب الذي تتم الإجابة عنه، لأن settings.py يدرج معالج السياق request في TEMPLATES. يصف request.resolver_match المسار الذي طابقه النظام: url_name هو اسمه من دون مساحة الأسماء ("contact")، وview_name هو الاسم الكامل ("menu:contact"). يمكن لإطار أن يعرض سطرًا في صفحة واحدة فقط:

{% if request.resolver_match.url_name == "contact" %}
    <p>We reply within a day.</p>
{% endif %}
challenge icon

التحدي

متوسط

في base.html، اجعل روابط التنقل بالترتيب التالي: الصفحة الرئيسية، القائمة، المشروبات، ساعات العمل، ومن نحن، على أن يُنشأ عنوان كل رابط باستخدام {% url %}. في كل صفحة، أضف class="active" إلى الرابط الخاص بتلك الصفحة فقط.

أضف تنسيقًا إلى nav a.active في style.css، مثل جعل النص عريضًا، ثم اضغط على Run وتنقّل بين الصفحات باستخدام الروابط.

جرّب بنفسك

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>{% block title %}Corner Café{% endblock %}</title>
    <link rel="stylesheet" href="{% static 'menu/style.css' %}">
</head>
<body>
    <nav>
        <a href="{% url 'menu:home' %}">Home</a>
        <a href="{% url 'menu:drinks' %}">Drinks</a>
        <a href="{% url 'menu:about' %}">About</a>
    </nav>
    <main>
        {% block content %}{% endblock %}
    </main>
</body>
</html>
quiz iconاختبر نفسك

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

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

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