Menu
CoddyTech

מסנני תבניות

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

רשימת המשקאות צריכה לציין כמה משקאות יש ולהציג מחירים כמו $3.50, אבל {{ drink.price }} מדפיס 3.5. מסנן משנה ערך בזמן שהתבנית מדפיסה אותו. הוא מופיע אחרי |, ולחלק מהמסננים מעבירים ארגומנט אחרי נקודתיים:

{{ guest.name|upper }}         {# ADA #}
{{ rating|floatformat:1 }}     {# 4.7, when rating is 4.66 #}
{{ boxes|length }} box{{ boxes|pluralize:"es" }}
{# ... #} היא הערת תבנית, והיא אף פעם לא מוצגת. הארגומנט של floatformat קובע כמה ספרות אחרי הנקודה הוא מציג תמיד. length סופר את הפריטים ברשימה, ו-pluralize מוסיף סיומת, s אם לא מציינים סיומת אחרת, כשהכמות אינה בדיוק אחת: 3 boxes, 1 box.

מסננים משנים רק את מה שמודפס, ולא את הנתונים שבתצוגה שלך.

challenge icon

אתגר

קל

בתוך drinks.html:

  • מתחת ל־<h1>, יש להוסיף <p class="count"> שמציג 4 drinks, או 1 drink כשיש משקה אחד;
  • ב־<li> של כל משקה, אחרי השם, יש להוסיף <span class="price"> עם שתי ספרות אחרי הנקודה העשרונית: $3.50.

לחצו על הרצה והביטו ב־/drinks/.

נסו בעצמכם

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Our Drinks</title>
</head>
<body>
    <h1>Our Drinks</h1>
    <ul>
        {% for drink in drinks %}
            <li class="drink">
                {{ drink.name }}
                {% if drink.sold_out %}
                    <span class="sold-out">Sold out</span>
                {% endif %}
            </li>
        {% empty %}
            <li>No drinks today.</li>
        {% endfor %}
    </ul>
</body>
</html>

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

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