python - 如何在 Django 模板中正确列化表格

标签 python django django-templates

我目前正在尝试将人员列表(大约 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/

相关文章:

python - django 重新分组 templatetag 未正确分组

python - Django模板更新后没有改变(可能是缓存)

python - 如何将 DMS 格式的经纬度转换为十进制格式(反之亦然)?

python - 将项目列为变量分配

python - 如何将图像中的字符和单词分割成轮廓

python - 使用 pandasql 时在 VS Code 中使用多个制表符间距设置和注释

django - 使用 django-haystack,如何按内容类型对结果进行排序

django - 将样式表链接到 Django 模板

python - “元组”对象没有属性 'rstrip'

python - Django - 'function' 对象不可迭代 - 模板渲染期间出错