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])
我有一个 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])