这是Django模板的摘录:
<div id="list-of-things">
{% for key in things %}
{% for thing in thing|get_dict_value:key %}
<div id="thing-{{ count }}">{{key}}: {{ thing }}</div>
{% endfor %}
{% endfor %}
</div>
things
是一个词典,get_dict_value:key
只是thing[key]
。最后一页需要的是:
<div id="thing-1">A: First thing</div>
<div id="thing-2">A: Second thing</div>
<div id="thing-3">B: Third thing</div>
...
...这意味着我需要一些改变count
变量的方法。在这里使用forloop.counter
会导致重复值,因为计数器每次都会通过外循环重置。
似乎没有任何方法可以在此循环中设置变量,那么还有另一种方法可以根据需要增加count
吗?
答案 0 :(得分:1)
这是你可以做的事情
在视图中
import itertools
counter = itertools.count()
# pass `counter` to the template
在模板中
{{counter.next}}
显示和增加计数器,无论你进入的循环如何。