מסנני תבניות
חלק מהיחידה יסודות 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.מסננים משנים רק את מה שמודפס, ולא את הנתונים שבתצוגה שלך.
אתגר
קלבתוך 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 אונליין