我目前正在尝试将人员列表(大约 20 到 30 项)分解为一个包含 4 列的表格。这是我当前的代码。
<table>
{% for person in people %}
{% cycle "<tr><td>" "<td>" "<td>" "<td>" %}
{{ person }}
{% cycle "</td>" "</td>" "</td>" "</td></tr>" %}
{% endfor %}
</table>
显然,这很丑陋,而且并不总是关闭最后一个 TR 标签。我发现的一种替代方法是将我的人员列表分成多个 4 人列表,然后循环遍历每个列表。我希望有一种更简单的方法可以单独在模板方面执行此操作,而无需自己扩展 django 模板(我也发现并考虑过)
谢谢!
最佳答案
使用 divisibleby
过滤器。
<tr>
{% for person in people %}
<td>{{ person }}</td>
{% if forloop.counter|divisibleby:4 and not forloop.last %}</tr><tr>{% endif %}
{% endfor %}
</tr>
关于python - 如何在 Django 模板中正确列化表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3326514/