Menu
CoddyTech

模板中的条件

本课属于 Coddy Django 学习旅程的“Django 基础”单元。第 14 课,共 23 课。

热巧克力机坏了。现在每种饮料都有一个 "sold_out" 值,True 或 False,列表应标记出你无法点的饮料。

{% if %} 标签只会在条件为真时显示它的部分内容。桌子列表:

{% for table in tables %}
    <li>
        Table {{ table.number }}:
        {% if table.free %}Free{% else %}Taken{% endif %}
    </li>
{% endfor %}

和 Python 的 if 一样,它可以使用 {% elif %} 和 {% else %},用 ==、<、and、or 和 not 进行比较,并以 {% endif %} 结束。在循环中,通过循环的名称读取项目的值:table.free。单独的 free 不在上下文中,会被视为假,因此它的部分内容永远不会显示。

challenge icon

挑战

简单

在 drinks.html 中,在每个 <li class="drink"> 内部的名称后面,仅当对应饮品已售完时,添加 <span class="sold-out">Sold out</span>。

按“运行”:在 /drinks/ 页面上,只有 Hot Chocolate 会显示 Sold out。

亲手试试

<!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>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

Django 基础中的所有课

自己练习: Django 在线编辑器