Условия в шаблонах
Часть раздела Основы Django путешествия по Django на Coddy. Урок 14 из 23.
Кофемашина сломалась. У каждого напитка теперь есть значение "sold_out" — True или False, а в списке должны быть отмечены напитки, которые нельзя заказать.
Тег {% if %} показывает свою часть только тогда, когда его условие истинно. Список столиков:
{% for table in tables %}
<li>
Table {{ table.number }}:
{% if table.free %}Free{% else %}Taken{% endif %}
</li>
{% endfor %}Как и оператор if в Python, он может содержать {% elif %} и {% else %}, сравнивает значения с помощью ==, <, and, or и not и заканчивается тегом {% endif %}. Внутри цикла обращайся к значениям элемента через имя цикла: table.free. Отдельного free в контексте нет, поэтому оно считается ложным, и его часть никогда не отображается.
Задание
ЛегкоВ drinks.html, внутри каждого <li class="drink"> и после названия добавляй <span class="sold-out">Sold out</span> только тогда, когда этот напиток закончился.
Нажми Запустить: на /drinks/ только Hot Chocolate отмечен как закончившийся.
Попробуйте сами
<!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 }}</li>
{% empty %}
<li>No drinks today.</li>
{% endfor %}
</ul>
</body>
</html>
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы Django
1Ваш первый сайт на Django
Привет, DjangoВторая страница4Макеты и статические файлы
Наследование шаблоновЗаголовок для каждой страницы3Шаблоны
Ваш первый шаблонПеременные шаблонаПотренируйтесь самостоятельно: Песочница Django