2012-08-28 4 views
0

저는 장고로 전자 상거래 사이트를 구축 중이며 모든 주문을 나열하는 페이지에서 작업하고 있습니다. 나는 1에서 어떤 순서로 주문 번호를 매기는 카운터를 세우고 싶다. 그러나 내가 이것을 위해 루프를 설정한다면, 원래의 forloop으로 돌아갈 때마다 번호가 재설정되지 않을까요?중첩 된 for 루프 내에 카운터를 설정합니다.

지금은 기본 키를 사용하여 모든 주문에 번호를 매기고 있지만 그 번호를 1에서 무엇이든 변경하고 싶습니다. enter image description here

<!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> 
+0

미안하지만, 문제는 나에게 분명하지 않다를 사용해야합니까? – schacki

답변

3

대신 <td>{{ord.pk}}</td> 사용 <td>{{ forloop.counter }}</td>.

for-loop에는 각각 자체 범위가 있습니다. 당신이 외부 루프의 카운터를 원하는 경우에 당신은 forloop.parentloop.counter

Django For-Loops