当前位置: 代码迷 >> python >> 模板中的 django x++
  详细解决方案

模板中的 django x++

热度:26   发布时间:2023-06-27 21:51:58.0

这是我的代码:

{% 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 添加1xclass.x调用class.x数据

class: ['red', 'yellow', 'green', ...]

您可以使用:

<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>

结果:

虽然我不确定这是否是解决问题的最优雅的方法。

你必须把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 }}