django模板的一个实用标签{% cycle %}

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


在这个例子中,用到了cycle这个标签,每当我们使用一次这个标签后,标签中的值就会变化,如上,每使用一次{% cycle 'row1' 'row2' %},输出的就会在row1和row2之间切换。

一些情况下,我们希望将cycle当做一个变量一样来使用,那么我们可以这样:

<tr>
    <td class="{% cycle 'row1' 'row2' as rowcolors %}">...</td>
    <td class="{{ rowcolors }}">...</td>
</tr>
<tr>
    <td class="{% cycle rowcolors %}">...</td>
    <td class="{{ rowcolors }}">...</td>
</tr>


 

最后,当出现我们不希望cycle主动输出的时候,也就是我么只希望它作为一个变量的时候,我们可以这样设置。

{% cycle 'row1' 'row2' as rowcolors silent %}


这样,cycle就不会主动输出了。

posted @ 2012-04-18 10:37  jianhong  阅读(497)  评论(0编辑  收藏  举报