Python 在django模板中使用带计数器的while循环
我需要在模板中的while循环中放置一个计数器。所以我做了:Python 在django模板中使用带计数器的while循环,python,django,loops,while-loop,Python,Django,Loops,While Loop,我需要在模板中的while循环中放置一个计数器。所以我做了: <tbody> {% with count=1 %} {% while count <={{orders_count}}: %} {% for order in orders %} <tr> <td style="width:5%;"></td>
<tbody>
{% with count=1 %}
{% while count <={{orders_count}}: %}
{% for order in orders %}
<tr>
<td style="width:5%;"></td>
<td>{{count}}</td>
<td>{{order.name}}</td>
</tr>
{% count+=1 %}
{% endfor %}
{% endwhile %}
{% endwith %}
</tbody>
您不需要
,而在此处循环,您只需使用:
{订单中的订单百分比|切片:订单计数%}
{{forloop.counter}}
{{order.name}
{%endfor%}
但是切片等并不真正属于模板。您通常在视图中执行此操作。您可以尝试以下操作:
<tbody>
{% for order in orders %}
<tr>
<td style="width:5%;"></td>
<td>{{forloop.counter}}</td>
<td>{{order.name}}</td>
</tr>
{% endfor %}
</tbody>
{订单%中的订单为%0}
{{forloop.counter}
{{order.name}
{%endfor%}
谢谢,但我认为forloop.counter
是真的。@M.J:arrgghh,打错了,谢谢。模式|slice:orders\u count
与我们不键入的状态相比,能制造更多的资源(RAM/CPU)吗?@M.J:不明显没有。但是order\u count
是什么?如果它只是订单中的项目数
,则无论如何都不应将其传递给模板。
<tbody>
{% for order in orders|slice:orders_count %}
<tr>
<td style="width:5%;"></td>
<td>{{ forloop.counter }}</td>
<td>{{ order.name }}</td>
</tr>
{% endfor %}
</tbody>
<tbody>
{% for order in orders %}
<tr>
<td style="width:5%;"></td>
<td>{{forloop.counter}}</td>
<td>{{order.name}}</td>
</tr>
{% endfor %}
</tbody>