2012-03-14 34 views
2

我想显示交替颜色的表行。为此,我有两个css类row1和row2,我想以交替模式分配给表的行。理想情况下,我会确定该行是奇数还是基于forloop.counter变量我可以评估django模板中的表达式吗?

这就是我想要的模板(无效的代码,但我认为它是自我解释)。

{% for norma in normas %} 
{% if forloop.counter %2 != 0 %} 
<tr class="row1"> 
{% else %} 
<tr class="row2"> 
{% endif %} 
    <td>yadda... yadda</td> 
    . 
    . 
    . 
{% endfor %} 

有没有办法在django模板系统内做到这一点?

+0

这里是解决问题的方法 这篇文章解释了深深如何获得交替行颜色 http://stackoverflow.com/questions/459161/alternate-row-coloring-in-django-template-具有多于一组的行 – Mayank 2012-03-14 09:10:57

回答

2

使用cycle - 的例子显示了这个确切的目的

+1

谢谢,这解决了我的特殊问题。有没有办法评估表达式? – dariopy 2012-03-14 18:39:40

1

在您只需使用{%用于%}循环:

<tr class="{% cycle 'row1' 'row2' %}> 

Django的templete将通过每一行周期。您可以在周期中添加尽可能多的项目。