问题描述
这是我的代码:
{% for d in do %}
{% x=0 %}
<tr class="{{ class.x }}">
{% x++ %}
<td>{{ d.year }}/{{ d.month }}/{{ d.day }}</td>
<td>{{ d.customer }}</td>
<td>{{ d.cost }} ?????</td>
<td>{{ d.forwhat }}</td>
<td>{{ d.description }}</td>
</tr>
{% endfor %}
我如何在模板中做x++
?
我从数据库中完成并按年、月和日排序。
现在我想为每个 d 添加1
到x
并class.x
调用class.x
数据
class: ['red', 'yellow', 'green', ...]
1楼
您可以使用:
<table>
{% for x in z %}
<tr class="{% cycle "red" "blue" "green" %}">
<td>{{ x }}</td>
</tr>
{% endfor %}
</table>
<style>
.red {
background-color: red;
}
.blue {
background-color: blue;
}
.green {
background-color: green;
}
</style>
结果:
虽然我不确定这是否是解决问题的最优雅的方法。
2楼
你必须把x
放在循环之外。
{% with x=0 %}
{% for d in do %}
<tr class="{{ class.x }}">
{% x++ %}
<td>{{ d.year }}/{{ d.month }}/{{ d.day }}</td>
<td>{{ d.customer }}</td>
<td>{{ d.cost }} ?????</td>
<td>{{ d.forwhat }}</td>
<td>{{ d.description }}</td>
</tr>
{% endfor %}
{% endwith %}
或者您可以在循环内使用{{ forloop.counter }}
。