Menu
CoddyTech

קישורים בין דפים

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

לכל משקה יש דף בכתובת /drinks/<slug>/, והרשימה בכתובת /drinks/ אמורה לקשר אליהם. בתבנית, התג {% url %} בונה כתובת מתוך שם של נתיב, כפי ש־reverse() עושה בתצוגה:

<a href="{% url 'menu:about' %}">About us</a>
<a href="{% url 'menu:table' 7 %}">Table 7</a>

השם מופיע ראשון, במירכאות, יחד עם מרחב השמות שלו. אחריו מופיעים ערכי הממירים, מופרדים ברווחים, והם יכולים להיות משתנים: בלולאה, {% url 'menu:table' table.number %} בונה את הכתובת של כל שולחן. כל משקה ב־DRINKS כולל כעת slug משלו.

שם או ערך שגויים יפילו את הדף עם NoReverseMatch, כך שקישור שבור מתגלה בזמן בניית הדף, ולא כשמבקר לוחץ עליו.

challenge icon

אתגר

קל

ב־drinks.html, הפוך את השם של כל משקה לקישור לעמוד שלו: <a href="...">Latte</a> מוביל אל /drinks/latte/. בנה את הכתובת באמצעות {% url %} וה־slug של המשקה.

ב־/drinks/, לחץ על פלאט וייט: עמוד הפלאט וייט נפתח.

נסו בעצמכם

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Our Drinks</title>
</head>
<body>
    <h1>Our Drinks</h1>
    <p class="count">{{ drinks|length }} drink{{ drinks|pluralize }}</p>
    <ul>
        {% for drink in drinks %}
            <li class="drink">
                {{ drink.name }}
                <span class="price">${{ drink.price|floatformat:2 }}</span>
                {% if drink.sold_out %}
                    <span class="sold-out">Sold out</span>
                {% endif %}
            </li>
        {% empty %}
            <li>No drinks today.</li>
        {% endfor %}
    </ul>
</body>
</html>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות Django

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