2011-11-13 37 views
9

我只是学习Django的模板系统,并尝试做比较琐碎的事:Django模板中的Modulus/Modulo等价运算符/函数?

<h2>State</h2> 
<ul class="states"> 
{% for state in states %} 
    <li class="state_elements" ><a href="/{{ state.name }}/"> {{ state.name }}</a></li> 
    {% if forloop.counter \% 3 == 0 %} 
    <br style="clear: both"/> 
{% endif %} 
{% endfor %} 
</ul> 

我得到一个语法错误,因为%是为模板语言保留的符号。这很不幸。

我已经发现

{% cycle "" "" "" '<br style="clear: both"/>' %} 

的部分解决方案,但它令我该死奇怪。有没有更好的办法?

回答

26

divisibleby

返回true如果值是由参数整除。

例如:

{{ value|divisibleby:"3" }} 

django template doc

+0

所以才完整性检查,我能做到这一点,就像这样{%for.counter | divisibleby: “3” %} {
ENDIF%%} – David

+8

{%if forloop.counter | divisibleby:“3”%} – iMom0