2013-11-14 50 views
0

我想輸出每行2項。我有4個項目來自數據庫。for循環Django模板邏輯 - 我該怎麼做?

<table> 
<tr> 
{% for item in items %} 
    <td> 
    {{item.name}},{{item.size}} 
    </td> 
{% endfor %} 
</tr> 
</table> 

這是給我

name1, 23m^2 | name2,20m^2 | name3,15m^2 | name4,10m^2 

,但我需要

name1, 23m^2 | name2,20m^2 
name3,15m^2 | name4,10m^2 

每行包含在單獨<tr>。我堅持如何打破循環,並指定新行..

+0

@AlexParakhnevich,不,不是更多..以及可能會更多,但它會修復號碼 – doniyor

回答

2

只需切換<tr>forloop,並且還使用forloop.counterdivisibleby

事情是這樣的:

{% if items %} 
<tr> 
{% for item in items %} 
    <td>{{item.name}},{{item.size}}</td> 
    {% if forloop.counter|divisibleby:2 %} 
    </tr> 
    <tr> 
    {% endif %} 
{% endfor %} 
</tr> 
{% endif %} 
+0

像平常一樣! :)。讓我測試 – doniyor

+0

但我明白了,我可以檢查loopcounter並生成對不對? – doniyor

+0

簡單的回答:是的,你可以(理想情況下,你應該),但在這種情況下,邏輯並不那麼簡單。檢查編輯,並讓我知道如果服務的目的 – karthikr

0

你忘了關<td>標籤。

<table> 
<tr> 
{% for item in items %} 
    <td> 
    {{item.name}},{{item.size}} 
    </td> <!-- here --> 
{% endfor %} 
</tr> 
</table> 
+0

謝謝,但這是我的錯字只在這篇文章中 – doniyor