Modulus/Modulo equivalent operator/function in django templates?
Asked Answered
Q

2

11

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?

Questionable answered 13/11, 2011 at 5:40 Comment(0)
C
29

divisibleby

Returns True if the value is divisible by the argument.

For example:

{{ value|divisibleby:"3" }}

django template doc

Cavein answered 13/11, 2011 at 5:48 Comment(2)
So just sanity check, could I do it as something like {% for.counter|divisibleby:"3" %} <br /> {% endif %}Questionable
{% if forloop.counter|divisibleby:"3" %}Cavein
H
2

forlopp count divisible by 2

{% if forloop.counter|divisibleby:2 == 0 %}

forloop count not divisible by 2

{% if forloop.counter|divisibleby:2 != 0 %}
Havelock answered 6/10, 2019 at 10:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.