2016-10-25 177 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(我測試過的版本)中,這不允許嵌套模板提前循環,只能訪問當前值。 –