{% 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 %}
肯尼病了。
{% elseif kenny.dead %}
你杀了肯尼!你这个混蛋!!!
{% else %}
肯尼目前看起来还不错。
{% endif %}判断表达式真假(或求值为真或假)的规则与 PHP 中相同,以下是边缘情况规则:
| 值 | 布尔求值 |
|---|---|
| 空字符串 | false |
| 数字零 | false |
| 仅包含空格的字符串 | true |
| 空数组 | false |
| null | false |
| 非空数组 | true |
| 对象 | true |