如何在 django 模板的单个表体中添加两个 for 循环

Posted

技术标签:

【中文标题】如何在 django 模板的单个表体中添加两个 for 循环【英文标题】:How to add two for loops in a single table body in django template 【发布时间】:2019-06-12 07:11:00 【问题描述】:
<thead>
<th> username </th>
<th>place</th>
</thead>

% for i, j in user_group1, user_group2 %
<tbody>
    % if i %
    <td> i.username </td>
    <td> i.place </td>
    % else %
    <td> j.username </td>
    <td> j.place </td>
    % endif %
</tbody>
% endfor %

我想在一个单一的表体中使用两个 for 循环。首先我需要开始第一个,然后我需要开始下一个。我该怎么做呢

【问题讨论】:

【参考方案1】:

如果您使用的是 Jinja2,您可以使用 + 运算符将两个列表合二为一:

% for i in user_group1|list + user_group2|list %
<tbody>
    <td> i.username </td>
    <td> i.place </td>
</tbody>
% endfor %

【讨论】:

但它们都是不同的查询集。 先将查询集转换为列表。我已经相应地更新了我的答案。 它不工作。我想我使用的不是 jinja2。它给了我 TemplateSyntaxError 我明白了。如果您使用的是 Django 的内置模板,那么您只需将两个查询集组合成一个可迭代对象并将该可迭代对象传递给模板。您可以将两个查询集与itertools.chain 结合起来。 请帮我解决这个问题***.com/questions/54264957/…

以上是关于如何在 django 模板的单个表体中添加两个 for 循环的主要内容,如果未能解决你的问题,请参考以下文章

使特定样式仅适用于表体中的 TableCell

我们可以在 django 的单个 html 模板中扩展多个 html 吗?如果可以,那么如何?

如何在 Nuxt Vue 的单个模板中添加多个组件?

如何在 JQuery 数据表中添加 Rowspan

如何在表体上为jquery数据表添加nanoscroller?

从 django 中的单个视图呈现多个模板