2011-11-13 6 views
9

Sto imparando sistema di template di Django e cercando di fare qualcosa di relativamente banale:Modulo/operatore equivalente modulo/funzione nei modelli django?

<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> 

ottengo un errore di sintassi, perché% è un simbolo riservato per il linguaggio di template. Questo è sfortunato.

ho già trovato una soluzione parziale con

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

ma mi sembra dannatamente strano. C'è un modo migliore?

risposta

26

divisibilePer

Restituisce true se il valore è divisibile per l'argomento.

Ad esempio:

{{ value|divisibleby:"3" }} 

django template doc

+0

Quindi, solo controllo di integrità, potrei fare come qualcosa di simile a {% for.counter | divisibilePer: "3" %}
{% endif%} – David

+8

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