for循环django模板逻辑 - 我该怎么做?

时间:2013-11-14 20:55:52

标签: django django-templates

我想为每一行输出2个项目。我有4个来自db的项目。

<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>中。我被困在如何打破循环并分配新行..

2 个答案:

答案 0 :(得分: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 %}

答案 1 :(得分:0)

您忘了关闭<td>代码。

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