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就不会主动输出了。