Фильтры шаблонов
Часть раздела Основы 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
1Ваш первый сайт на Django
Привет, DjangoВторая страница4Макеты и статические файлы
Наследование шаблоновЗаголовок для каждой страницы3Шаблоны
Ваш первый шаблонПеременные шаблонаПотренируйтесь самостоятельно: Песочница Django