如何迭代 Django 模板中的查询集?

How to iterate over a queryset in django template?

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

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

在 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 %}

以上从未执行过。 这里有什么技巧?

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

应该是

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

而不是

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