Django的模板标签包含一个{% ifchanged %}
测试,用于在循环中使用以检查值是否已更改。每次变量发生变化时,我都会使用它来输出新的<div>
标记。
我希望每个第4个<div>
都有一个特定的类,但是Django的forloop.counter
变量在这里没有用,因为每次循环运行它都会递增,即使{% ifchanged %}
测试没有不运行,所以输出不规律。
有没有人知道解决这个问题的方法?显然我不能在Django视图中设置我自己的计数器,所以我无法检查'内部'循环何时发生了变化。
谢谢, 马特
答案 0 :(得分:3)
您只需使用divisibleby过滤器:
即可{% if forloop.counter|divisibleby:"4" %}
....
{% endif %}
您必须在模板中使用计数器+ divisibleby
过滤器。看看这个模板标签:Counter,它可以帮到你。
或者
在将视图传递给模板并使用divisibleby
过滤器之前,在视图中过滤掉重复的项目(如果可能)。