Django 在嵌套for循环中设置计数器
我正在与django建立一个电子商务网站,我正在制作一个列出所有订单的页面。我想设置一个计数器,将订单编号从1到任意值。然而,如果我设置了一个for循环来实现这一点,那么每次我跳回原来的forloop时,这个数字不会被重置吗 现在我用主键给所有订单编号,但我想把它改为1-随便什么。Django 在嵌套for循环中设置计数器,django,for-loop,counter,Django,For Loop,Counter,我正在与django建立一个电子商务网站,我正在制作一个列出所有订单的页面。我想设置一个计数器,将订单编号从1到任意值。然而,如果我设置了一个for循环来实现这一点,那么每次我跳回原来的forloop时,这个数字不会被重置吗 现在我用主键给所有订单编号,但我想把它改为1-随便什么。 订购页 {%对于位置,订单位于orderlocations.items%} # 时间 位置 名称 电子邮件 电话 命令 订货量 交付 {订单%中的ord为%0} {ord.orderitem_set.all%中的
订购页
{%对于位置,订单位于orderlocations.items%}
#
时间
位置
名称
电子邮件
电话
命令
订货量
交付
{订单%中的ord为%0}
{ord.orderitem_set.all%中的食物百分比}
{%if-forloop.counter==1%}
{{ord.pk}}
{{ord.time}
{{ord.location}
{{ord.user.first_name}
{{ord.user.email}
{{ord.user.get_profile.phone}
{%else%}
{%endif%}
{{food.name}
{{食物.数量}
{%if-forloop.counter==1%}
{%if未送达ord.delivered%}未{%endif%}送达
{%endif%}
{%endfor%}
{%endfor%}
{%endfor%}
使用{{forloop.counter}}
代替{{ord.pk}}
for循环都有自己的作用域。如果需要外部循环的计数器,可以使用forloop.parentloop.counter
使用{{forloop.counter}}
代替{{ord.pk}}
for循环都有自己的作用域。如果需要外部循环的计数器,可以使用forloop.parentloop.counter
对不起,我不清楚这个问题?对不起,我不清楚这个问题?
<!DOCTYPE html>
<html>
<body>
Order page
{% for location, orders in orderlocations.items %}
<table>
<tr>
<td>#</td>
<td>Time</td>
<td>Location</td>
<td>Name</td>
<td>Email</td>
<td>Phone</td>
<td>Order</td>
<td>Order Quantity</td>
<td>Delivered</td>
</tr>
{% for ord in orders %}
{% for food in ord.orderitem_set.all %}
<tr>
{% if forloop.counter == 1 %}
<td>{{ord.pk}}</td>
<td>{{ord.time}}</td>
<td>{{ord.location}}</td>
<td>{{ord.user.first_name}}</td>
<td>{{ord.user.email}}</td>
<td>{{ord.user.get_profile.phone}}</td>
{% else %}
<td colspan="4"></td>
{% endif %}
<td>{{food.name}}</td>
<td>{{food.quantity}}</td>
<td>
{% if forloop.counter == 1 %}
<form action="" method="POST">
<input type="hidden" name="order-id" value="{{ ord.pk }}"/>
<input type="hidden" name="action=" value="toggledelivery"/>
<button type="button">{% if not ord.delivered %}Not {% endif %}Delivered</button>
</form>
{% endif %}
</td>
</tr>
{% endfor %}
{% endfor %}
</table>
{% endfor %}
</body>
</html>