Flask:Jinja for loop 每个模板只工作一次

Flask: Jinja for loop works only once per template

我有一个 Flask 应用程序,我正在使用 for 循环动态生成 html:

    {% for subcategory in subcategories|unique: %}
List of projects:
        <p> {{ subcategory }}</p>
        {% endfor %}


    {% for subcategory in subcategories|unique: %}
List of subcategories:
       <p> {{ subcategory }}</p>
        {% endfor %}

然而,第二个 for 循环没有产生任何结果。

如果我删除“|unique”,它就会起作用。

为什么?

您传递的可能是生成器,而不是列表或其他可迭代对象。

示例生成器可能是:

subcategories = [str(item) for item in subcategories]

在 Python 端,尝试将项目包装在列表中,然后再将其发送到 Jinja 渲染器:

subcategories = list([str(item) for item in subcategories])