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. Zapisuje się go po |, a niektóre filtry przyjmują argument po dwukropku:
{{ 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 elementów nie wynosi dokładnie jeden: 3 boxes, 1 box.
Filtry zmieniają tylko to, co jest wyświetlane, nigdy dane w Twoim widoku.
Wyzwanie
ŁatwyW pliku drinks.html, pod elementem <h1>, dodaj element <p class="count"> z tekstem 4 drinks lub 1 drink, gdy jest jeden napój. W elemencie <li> każdego napoju, po jego nazwie, dodaj element <span class="price"> z ceną podaną z dwoma miejscami po przecinku, na przykład $3.50.
Otwórz /drinks/: widnieje tam 4 drinks, a Latte kosztuje $3.50.
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
4Układy i pliki statyczne
Dziedziczenie szablonówTytuł dla każdej strony3Szablony
Twój pierwszy szablonZmienne w szablonachPoćwicz samodzielnie: Edytor online Django