ifchanged 模板标签
示例
循环遍历列表,但仅在值自上次迭代以来发生更改时才显示该值
<ul>
{% for x in mylist %}
{% ifchanged %}
<li>{{ x }}</li>
{% endifchanged %}
{% endfor %}
</ul>
运行示例 »
定义和用法
The 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 | 可选。指定需要更改才能显示内容的属性。 |