ifchanged 模板标签

实例

循环浏览列表,但仅当值自上次迭代以来已更改时才显示该值:

  1. <ul>
  2. {% for x in mylist %}
  3. {% ifchanged %}
  4. <li>{{ x }}</li>
  5. {% endifchanged %}
  6. {% endfor %}
  7. </ul>

定义与用法

ifchanged 标签让您可以检查循环中的值,并在值自上次迭代以来发生更改时输出代码。

如果迭代对象在每次迭代中有许多值,则可以指定要检查的值,并且仅当该值自上次迭代以来发生了更改时,才会显示代码块:

实例

循环浏览 members 对象,检查 brand 属性是否已更改:

  1. {% for x in cars %}
  2. {% ifchanged x.brand %}
  3. <h1>{{ x.brand }}:</h1>
  4. {% endifchanged %}
  5. <p>{{ x.model }}, {{ x.year }}</p>
  6. {% endfor %}

还可以为值未更改时应显示的内容定义 {% else %} 子句:

实例

循环浏览一个列表,并在值是否更改时写入不同的消息:

  1. {% for x in mylist %}
  2. {% ifchanged %}
  3. <p>New value: {{ x }}</p>
  4. {% else %}
  5. <p>Same value: {{ x }}</p>
  6. {% endifchanged %}
  7. {% endfor %}

语法

  1. {% ifchanged property %}
  2. ...
  3. {% endifchanged %}

参数

描述
property可选。指定需要更改哪些属性才能显示内容。

分类导航