{% if %} 和 {% endif %} 标签将表示一个表达式,并且与 PHP 的 if 语句类似。在最简单的形式中,你可以使用它来测试一个表达式是否评估为 true:
{% if online == false %}
<p>网站处于维护模式。</p>
{% endif %}你也可以测试一个数组是否不为空:
{% if users %}
<ul>
{% for user in users %}
<li>{{ user.username }}</li>
{% endfor %}
</ul>
{% endif %}注意:如果你想测试变量是否已定义,请改用
{% if users is defined %}。
你也可以使用 not 来检查评估为 false 的值:
{% if not user.subscribed %}
<p>你没有订阅我们的邮件列表。</p>
{% endif %}对于多个表达式,可以使用 {% elseif %} 和 {% else %}:
{% if kenny.sick %}
Kenny 病了。
{% elseif kenny.dead %}
你杀了 Kenny!你这个混蛋!!!
{% else %}
Kenny 目前看起来还不错。
{% endif %}确定表达式为真或为假的规则与 PHP 中相同,以下是边缘情况规则:
| 值 | 布尔评估 |
|---|---|
| 空字符串 | false |
| 数字零 | false |
| 仅包含空白字符的字符串 | true |
| 空数组 | false |
| null | false |
| 非空数组 | true |
| 对象 | true |