我正在尝试仅通过Jinja for loop显示唯一结果。我有
{% for i in items %}
{{ i.item_name | unique }}
{% endfor %}
我收到此错误: jinja2.exceptions.TemplateAssertionError:没有名为“唯一”的过滤器。任何帮助将不胜感激。
答案 0 :(得分:1)
unique
已在版本2.10
中添加。您可以检查change log和PR。
要升级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)
输出:
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>