如何使用Jijna2唯一过滤器

时间:2018-10-31 16:00:35

标签: python for-loop flask jinja2

我正在尝试仅通过Jinja for loop显示唯一结果。我有

{% for i in items %}
    {{ i.item_name | unique }}
{% endfor %}

我收到此错误: jinja2.exceptions.TemplateAssertionError:没有名为“唯一”的过滤器。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

编辑

unique已在版本2.10中添加。您可以检查change logPR

要升级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>