Django模板forloop

时间:2017-04-27 16:44:05

标签: django django-templates

这是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吗?

1 个答案:

答案 0 :(得分:1)

这是你可以做的事情

在视图中

import itertools
counter = itertools.count()
# pass `counter` to the template

在模板中

{{counter.next}} 

显示和增加计数器,无论你进入的循环如何。