Menu
CoddyTech

مرشحات القوالب

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

ينبغي أن تعرض قائمة المشروبات عدد المشروبات وأسعارها مثل $3.50، لكن {{ drink.price }} يطبع 3.5. يغيّر عامل التصفية قيمةً أثناء طباعة القالب لها. يأتي بعد |، وبعض عوامل التصفية تأخذ وسيطًا بعد نقطتين:

{{ 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/: ستجد أنه يعرض 4 drinks، وأن سعر اللاتيه هو $3.50.

جرّب بنفسك

<!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

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