如何在Django模板中正确列出表格

2 投票
1 回答
579 浏览
提问于 2025-04-16 01:47

我现在正在尝试把一份大约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模板(我也找到了这个方法并考虑过)。

谢谢!

1 个回答

11

使用 divisibleby 这个过滤器。

<tr>
{% for person in people %}
    <td>{{ person }}</td>
    {% if forloop.counter|divisibleby:4 and not forloop.last %}</tr><tr>{% endif %}
{% endfor %}
</tr>

撰写回答