2016-10-25 179 views
0

我有一个任务列表,包含任务类型组的标题。我想任务行(最后<tr>)移动到其自己的模板:django包含循环变量的模板

{% for task in tasks %} 

{% ifchanged task.task_type %} 
<tr> 
    <td colspan="5"><br><h3>{{ task.task_type }}</h3></td> 
</tr> 
{% endifchanged %} 
<tr class="{% cycle 'active' '' as rowcolor %}"> 
    ... 
</tr> 
{% endfor %} 

我知道这很容易使交替行颜色与CSS,但可能会作一些组头排灰,随后白色行;我希望所有组标题行都是白色,并且该组的后续行以灰色行开始。

我想要做的是与

{% include '_row.html' with rowcolor="{% cycle 'active' '' %}" %} 

替换最后<tr>但看来,{% %}不能嵌套。在rowcolor值中使用{{ }}也无效。有没有办法做到这一点?

回答

1

你可以尝试:

{% cycle 'active' '' as active_or_not silent %} 
{% include '_row.html' with rowcolor=active_or_not %} 

希望这有助于

+0

啊,不知道了'silent'标志。谢谢! – Andy

+0

在Django 1.9(我测试过的版本)中,这不允许嵌套模板提前循环,只能访问当前值。 –