Menu
CoddyTech

ניווט באתר

חלק מהיחידה יסודות Django במסלול ה-Django של Coddy. שיעור 23 מתוך 23.

באתר יש עכשיו חמישה עמודים עם פריסה משותפת (גם ל־About יש תבנית), אבל הניווט ב־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, צרו קישורי ניווט אל Home, Menu, Drinks, Hours ו־About, בסדר הזה, כאשר הכתובת של כל אחד מהם נבנית באמצעות {% 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

תרגלו בעצמכם: Django אונליין