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 | 可选。指定需要更改哪个属性以显示内容。 |