ifchanged 模板标签
实例
循环遍历一个列表,但仅当它自上次迭代以来发生变化时才显示该值:
<ul>
{% for x in mylist %}
{% ifchanged %}
<li>{{ x }}</li>
{% endifchanged %}
{% endfor %}
</ul>
运行实例 »
定义和用法
ifchanged
标签允许您在循环中检查一个值,并在该值自上次迭代后发生变化时输出代码。
如果迭代对象每次迭代有很多值,您可以指定要检查哪个值,并且仅当该值自上次迭代以来发生更改时才会显示代码块:
实例
遍历 members 对象并检查 brand
属性是否已更改:
{% for x in cars %}
{% ifchanged x.brand %}
<h1>{{ x.brand }}:</h1>
{% endifchanged %}
<p>{{ x.model }}, {{ x.year }}</p>
{% endfor %}
运行实例 »
您还可以为值未更改时应显示的内容定义 {% else %} 子句:
实例
遍历一个列表并在值是否改变时写入不同的消息:
{% for x in mylist %}
{% ifchanged %}
<p>New value: {{ x }}</p>
{% else %}
<p>Same value: {{ x }}</p>
{% endifchanged %}
{% endfor %}
运行实例 »
语法
{% ifchanged property %}
...
{% endifchanged %}
参数
值 | 描述说明 |
---|---|
property | 可选。 指定需要更改哪个属性才能显示内容。 |