Python 如何使用Jijna2唯一过滤器
我试图通过jinja for循环只显示唯一的结果。我有Python 如何使用Jijna2唯一过滤器,python,for-loop,flask,jinja2,Python,For Loop,Flask,Jinja2,我试图通过jinja for循环只显示唯一的结果。我有 {% for i in items %} {{ i.item_name | unique }} {% endfor %} 我收到此错误:jinja2.exceptions.TemplateAssertionError:没有名为“unique”的筛选器。任何帮助都将不胜感激。编辑 在版本2.10中添加了unique。您可以检查和 要升级jinja2版本,您可以执行以下操作: pip install --upgrade jinja2
{% for i in items %}
{{ i.item_name | unique }}
{% endfor %}
我收到此错误:jinja2.exceptions.TemplateAssertionError:没有名为“unique”的筛选器。任何帮助都将不胜感激。编辑
在版本2.10
中添加了unique
。您可以检查和
要升级jinja2版本,您可以执行以下操作:
pip install --upgrade jinja2
这在版本
2.10
中对我有效,将过滤器直接应用于列表:
from jinja2 import Template
template = Template("""
{% for x in a|unique %}
<li>{{ x }}</li>
{% endfor %}
""")
r = template.render(a=[1, 2, 3, 4, 1, 5, 4])
print(r)
来自jinja2导入模板的
模板=模板(“”)
|unique%}
{{x}
{%endfor%}
""")
r=template.render(a=[1,2,3,4,1,5,4])
印刷品(r)
输出:
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
1
二,
三,
四,
五,
我假设项目是一个列表。如果您只希望唯一,为什么不在呈现页面之前执行此操作确定。你用的是什么版本的jinja?我用的是jinja2.8我已经更新了我的答案。似乎您至少需要2.10
。