2012-08-27 38 views
0

我創建一個電子商務網站,我想建立一個網頁,我可以查看創建的所有命令的列表格式。HTML表格和Django

如果訂單隻包含1項類型,格式正常工作,但我不能想辦法來構建,當有多個類型排序的項目表。

這是它的外觀時,有2項排序(最後一項),如:

enter image description here

我希望「QUESO捲餅」是正確的「牛排和雞蛋卷餅」下#18 。

這是我的代碼:

<table> 
    <tr> 
     <td>#</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 %} 
    <tr> 
     <td>{{ord.pk}}</td> 
     <td>{{ord.user.first_name}}</td> 
     <td>{{ord.user.email}}</td> 
     <td>{{ord.user.get_profile.phone}}</td> 

     {% for food in ord.orderitem_set.all %} 
      <td>{{food.name}}</td> 
      <td>{{food.quantity}}</td> 
     {% endfor %} 

     <td>x</td> 
    </tr> 
    {% endfor %} 

</table> 

回答

2

隨着多個項目,您通常看到重複各行項目訂單數據表。

{% for order in orders %} 
{% for orderitem in order.items %} 
<td>{{order.id}}</td><td>...</td> 
{% endfor %} 
{% endfor %} 

如果你想正是你所描述的格式,你可以檢查內環超過其第一項,隱藏你不想重複字段。

<table> 
    {% for ord in orders %} 
     {% for item in ord.orderitem_set.all %} 
     <tr> 
      {% if forloop.counter == 1 %} 
       <td>{{ord.pk}}</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>{{item.name}}</td> 
      <td>{{item.quantity}}</td> 
      <td>{% if forloop.counter == 1 %}x{% endif %}</td> 
     </tr> 
     {% endfor %} 
    {% endfor %} 

</table> 
+0

這是完美的!謝謝! – anc1revv