Menu
CoddyTech

Filtry szablonów

Część sekcji Podstawy Django ścieżki Django w Coddy. Lekcja 15 z 23.

Lista napojów powinna podawać ich liczbę i wyświetlać ceny, takie jak $3.50, ale {{ drink.price }} wyświetla 3.5. Filtr zmienia wartość podczas jej wyświetlania przez szablon. Występuje po |, a niektóre filtry przyjmują argument po dwukropku:

{{ guest.name|upper }}         {# ADA #}
{{ rating|floatformat:1 }}     {# 4.7, when rating is 4.66 #}
{{ boxes|length }} box{{ boxes|pluralize:"es" }}
{# ... #} to komentarz szablonu, który nigdy nie jest wyświetlany. Argument filtra floatformat określa liczbę miejsc po przecinku, które zawsze wyświetla. length zlicza elementy listy, a pluralize dodaje końcówkę s, chyba że podasz inną, gdy liczba nie wynosi dokładnie jeden: 3 boxes, 1 box.

Filtry zmieniają tylko to, co jest wyświetlane, nigdy dane w widoku.

challenge icon

Wyzwanie

Łatwy

W pliku drinks.html:

  • pod <h1> umieść element <p class="count"> z tekstem 4 drinks albo 1 drink, gdy jest jeden napój;
  • w każdym <li> napoju, po jego nazwie, umieść element <span class="price"> z ceną zapisaną z dwoma miejscami po przecinku: $3.50.

Naciśnij Uruchom i sprawdź /drinks/.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Podstawy Django

Poćwicz samodzielnie: Edytor online Django