Django模板forloop计数器迭代次数

时间:2016-03-23 11:36:37

标签: python django templates counter

我想渲染forloop.counter计数值。

Althoug,{{forloop.counter}}返回计数但不是总计数。

所以,例如, 1,3,5,9我想返回总计数值= 4。

我怎么能在模板中做到这一点?

修改

以下是我的代码:

{% for rl in roomfiltersettime %}

              {% if rl.room.id = room.id %}
                  {{ rl }}
              {% endif %}

{% endfor %}

我想返回{{rl}}项的总数。我怎么能在模板中做到这一点?

2 个答案:

答案 0 :(得分:1)

  

我想返回{{rl}}项的总数。

这将是列表的长度:

{{ roomfiltersettime|length }}

编辑:要计算满足if条件的{{rl}}项的数量,需要增加计数器变量。但是,如果没有自定义模板标记,那么在Django模板中这是不可能的。

答案 1 :(得分:-1)

如果您只想计算迭代次数,可以使用内置函数enumerate()

for i, v in enumerate(['tic', 'tac', 'toe']):
   print i, v

将导致:

0 tic
1 tac
2 toe