问题
I'm just learning django's templating system and trying to do something relatively trivial:
<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>
I get a syntax error because % is a symbol reserved for the templating language. This is unfortunate.
I already found a partial solution with
{% cycle "" "" "" '<br style="clear: both"/>' %}
but it strikes me as damn odd. Is there a better way?
回答1:
divisibleby
Returns True if the value is divisible by the argument.
For example:
{{ value|divisibleby:"3" }}
django template doc
回答2:
forlopp count divisible by 2
{% if forloop.counter|divisibleby:2 == 0 %}
forloop count not divisible by 2
{% if forloop.counter|divisibleby:2 != 0 %}
来源:https://stackoverflow.com/questions/8109866/modulus-modulo-equivalent-operator-function-in-django-templates