在Django中创建带动态数据的三列HTML表格

6 投票
3 回答
11918 浏览
提问于 2025-04-16 16:24

我想创建一个动态的HTML表格,这个表格有3列和3行。每一列会显示数据库中的3条记录,所以总共会显示9条记录(如果他们有9个朋友的话,当然如果朋友少于9个,就显示他们实际有的朋友数量)。我这样做主要是为了在用户的主页上展示小的用户头像和他们朋友的用户名。这将是他们9个朋友的列表。我正在使用Django,但找不到一个教程,教我如何在获取到9条记录的情况下,只在每一行显示3条记录。如果有人能提供帮助,无论是链接到教程还是解决这个问题的信息,我都非常感激。谢谢!

3 个回答

0

你可以用 {% if friends|length == 9 %} 这个代码来检查你是否有9条记录。

1

这个小代码片段在这个情况下也可能会很有用:将分组的序列整理成表格的行和列

9

你可以使用 forloop.counter,然后做类似这样的事情:

<table>
    <tr>
{% for person in people %}
        <td>{{ person }}</td>
    {% if not forloop.last and forloop.counter == 3 or forloop.counter == 6 %}
    </tr>
    <tr>
    {% endif %}
{% endfor %}
    </tr>
</table>

或者你可以自己写一个模板标签。这里有一个示例,看起来正好能满足你的需求。

这个问题在StackOverflow上也有相关内容:

将一个查询集渲染成两个div列(django模板)

[编辑]:应该是“counter”,而不是“count”

撰写回答