【问题标题】:How to go through a ManyToMany field in chunks in Django如何在 Django 中分块处理多对多字段
【发布时间】:2017-02-07 01:10:10
【问题描述】:

我正在尝试在平铺界面的 HTML 模板中显示三个对象的集合。因此,例如,相册模型具有包含特定照片的 ManyToMany 字段。我想遍历照片并在视图中以三组的形式显示它们。目前,我可以在模板中使用{{ for photo in album.images.all }} 获取所有照片,但不知道如何获取三组的结果。

我将如何将结果分成三组,以便我可以遍历模板的三组?或者有没有办法使用模板标签获取特定元素的总长度和索引?

谢谢

【问题讨论】:

  • 您想在视图中显示所有照片(分成三部分),还是每页只显示三张?如果是后者,Django 分页器是要走的路。

标签: python django


【解决方案1】:
{% for photo in album.images.all %}
    {{ photo }}
    {% if forloop.counter|divisibleby:4 %}
        <hr> {# or some other markup #}
    {% endif
{% endfor %}

您也可以在视图中进行分组。这可能会导致更清晰的标记。见:Django template {%for%} tag add li every 4th element

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 2021-01-28
    • 2011-12-24
    • 2019-01-26
    • 2021-08-21
    • 2021-12-22
    • 1970-01-01
    相关资源
    最近更新 更多