我想显示数据,在我的期间每行三列。我希望我的结果如下所示:
<table>
<tr><td>VALUE1</td><td>VALUE2</td><td>VALUE3</td></tr>
<tr><td>VALUE4</td><<td>VALUE5</td><td>VALUE6</td></tr>
</table>
任何人都知道该怎么做?
语法错误 位于/
的TemplateSyntaxError'for'语句应使用格式'for y in y':for i in range(0,len(all_products_list),3)
答案 0 :(得分:22)
有一个divisibleby标签。
所以你可以做一些事情(丑陋),如:
<table><tr>
{% for field in form %}
<td>{{ field }}</td>
{% if forloop.last %}
</tr>
{% else %}
{% if forloop.counter|divisibleby:"3" %}
</tr><tr>
{% endif %}
{% endif %}
{% endfor %}
</table>
或者,您可以为表单类提供一个table_print
方法,该方法返回一个html字符串(包含在mark_safe
中)。
答案 1 :(得分:-2)
<table>
{% for i in range(0, len(stuff), 3) %}
<tr>
{% for j in range(3) %}
<td>{{ stuff[i+j] }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
抱歉误解了问题。