2014-01-22 84 views
2
{% for p in posts %} 
    <div id="even">{{ p.title }}</div> 
    <div id="odd">{{ p.title }}</div> 
{% endfor %} 

我需要創造這樣的:如何檢查循環次數? (以及它是否是偶數或奇數)

{% for p in posts %} 
    {% if forloop_count is even %} 
     <div id="even">{{ p.title }}</div> 
    {% else %} 
     <div id="odd">{{ p.title }}</div> 
    {% endif %} 
{% endfor %} 

我如何檢查循環計數? (以及它是否是偶數還是奇數)

+1

尋找答案更好: http://stackoverflow.com/questions/6571966/how -to-得到奇數偶數值功能於Django的for循環式模板 –

回答

2

使用divisableby

{% for p in posts %} 
    {% if forloop.counter|divisibleby:"2" %} {# is even #} 
     <div id="even">{{ p.title }}</div> 
    {% else %} 
     <div id="odd">{{ p.title }}</div> 
    {% endif %} 
{% endfor %} 

,或者如果其簡單地爲一個ID使用cycle例如

{% cycle 'odd' 'even' %} 
3

這是您的真正潛在需求,還是您只是試圖在兩個div類之間循環?他們必須是奇數/偶數還是交替?

{% for o in some_list %} 
    <tr class="{% cycle 'row1' 'row2' %}"> 
     ... 
    </tr> 
{% endfor %} 

參考:https://docs.djangoproject.com/en/dev/ref/templates/builtins/

你的情況,那就是:

{% for p in posts %} 
    <div id="{% cycle 'even' 'odd' %}">{{ p.title }}</div> 
{% endif %} 
相關問題