Django for 标签
For 循环
for
循环用于在序列上迭代,就像在数组或字典中的项上循环一样。
实例
<ul>
{% for x in mymembers %}
<li>{{ x.firstname }}</li>
{% endfor %}
</ul>
结果
- Emil
- Tobias
- Linus
- Lene
- Stalikken
Reversed
reversed
关键字被用于以相反的顺序进入循环。
实例
<ul>
{% for x in mymembers reversed %}
<li>{{ x.firstname }}</li>
{% endfor %}
</ul>
结果
- Stalikken
- Lene
- Linus
- Tobias
- Emil
Empty
empty
关键字用于在对象为空时执行特殊操作。
实例
<ul>
{% for x in emptytestobject %}
<li>{{ x.firstname }}</li>
{% empty %}
<li>No members</li>
{% endfor %}
</ul>
结果
- No members
循环变量
Django 在循环中提供了一些变量:
- forloop.counter
- forloop.counter0
- forloop.first
- forloop.last
- forloop.parentloop
- forloop.revcounter
- forloop.revcounter0
forloop.counter
当前迭代,从 1 开始。
实例
<ul>
{% for x in mymembers %}
<li>{{ forloop.counter }}</li>
{% endfor %}
</ul>
结果
- 1
- 2
- 3
- 4
- 5
forloop.counter0
当前迭代,从 0 开始。
实例
<ul>
{% for x in mymembers %}
<li>{{ forloop.counter0 }}</li>
{% endfor %}
</ul>
结果
- 0
- 1
- 2
- 3
- 4
forloop.first
让您可以判断循环是否在第一次迭代中。
实例
<ul>
{% for x in mymembers %}
<li
{% if forloop.first %}
style='background-color:lightblue;'
{% endif %}
>{{ x.firstname }}</li>
{% endfor %}
</ul>
结果
- Emil
- Tobias
- Linus
- Lene
- Stalikken
forloop.last
让您可以判断循环是否在最后一次迭代中。
实例
<ul>
{% for x in mymembers %}
<li
{% if forloop.last %}
style='background-color:lightblue;'
{% endif %}
>{{ x.firstname }}</li>
{% endfor %}
</ul>
结果
- Emil
- Tobias
- Linus
- Lene
- Stalikken
forloop.revcounter
当前迭代如果从末尾开始并反向计数,最后返回 1。
实例
<ul>
{% for x in mymembers %}
<li>{{ forloop.revcounter }}</li>
{% endfor %}
</ul>
结果
- 5
- 4
- 3
- 2
- 1
forloop.revcounter0
当前迭代如果从末尾开始并反向计数,最后返回 0。
实例
<ul>
{% for x in mymembers %}
<li>{{ forloop.revcounter0 }}</li>
{% endfor %}
</ul>
结果
- 4
- 3
- 2
- 1
- 0