{% if %}

{%if%}{%endif%}标签将表示一个表达式,并且与PHP的if语句相同。 在最简单的形式中,您可以使用它来测试表达式是否计算为“true”:

  1. {% if online == false %}
  2. <p>The website is in maintenance mode.</p>
  3. {% endif %}

您还可以测试数组是否为空:

  1. {% if users %}
  2. <ul>
  3. {% for user in users %}
  4. <li>{{ user.username }}</li>
  5. {% endfor %}
  6. </ul>
  7. {% endif %}

注意: 如果要测试变量是否已定义,请使用{%if users is defined%}

您还可以使用not来判断变量是否为false

  1. {% if not user.subscribed %}
  2. <p>You are not subscribed to our mailing list.</p>
  3. {% endif %}

对于多个表达式,可以使用{%elseif%}{%else%}

  1. {% if kenny.sick %}
  2. Kenny is sick.
  3. {% elseif kenny.dead %}
  4. You killed Kenny! You bastard!!!
  5. {% else %}
  6. Kenny looks okay so far.
  7. {% endif %}

表达规则

确定表达式是真还是假的规则与PHP中的相同,这里是边缘情况规则:

布尔
空字符串 false
数字零 false
仅限空白字符串 true
空数组 false
null false
非空数组 true
对象 true