【问题标题】:How to iterate over a queryset in django template?如何遍历 django 模板中的查询集?
【发布时间】:2021-09-09 13:38:47
【问题描述】:

我知道这很可能是重复的,但在类似问题中提供的解决方案没有帮助。

乍一看,这是一个非常简单的问题,它应该可以正常工作,但由于某种原因,它没有。

在 Django 模板中,我根据当前用户过滤记录的查询集。然后我遍历它并希望分别显示每个结果。没什么复杂的。代码如下:

{% if user.is_authenticated %}
    {% if user.quick_links.all %}
        {{ user.quick_links.all }}
        <h2>Moje rychlé přístupy:</h2>
        {% for link in user.quick_liks.all %}
            <div class="col-md-2">
            <a href="{{ link.link }}"><button class="btn btn-info">{{ link.link_name }</button></a>
            </div>
        {% endfor %}
    {% endif %}
{% endif %}

{{ user.quick_links.all }} 显示

<QuerySet [<UserQuickAccessLink: Link uživatele david@email.eu: Google>, <UserQuickAccessLink: Link uživatele david@email.eu: Coding Music>]>

但随后程序永远不会进入 for 循环,即使 iterable 显然存在。

{% for link in user.quick_liks.all %}
    <div class="col-md-2">
    <a href="{{ link.link }}"><button class="btn btn-info">{{ link.link_name }} </button></a>
    </div>
{% endfor %}

上述内容永远不会执行。 这里有什么诀窍?

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    如果这是您的实际代码,那么在您的 for 循环中您有错字;

    应该是这样的

    {% for link in user.quick_links.all %}

    而不是

    {% for link in user.quick_liks.all %}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多