我想返回 Jinja 模板中的唯一项。简化:
{% set lst = [1, 2, 3, 3, 2] %}
{% for t in set(lst) %}
{{ t }}
{% endfor %}
但这会引发错误:
UndefinedError: 'set' is undefined
而且似乎很难在 Google 上找到答案,因为 set 也是 Jinja 关键字。 那么我可以在 Jinja 中使用 Python 的 set 关键字,还是可以在 Jinja 中返回列表中的唯一项目?
请您参考如下方法:
如果您使用 jinja 至少 v。 2.10: 你可以使用内置过滤器 unique:
{% set lst = [1, 2, 3, 3, 2] %}
{% for t in lst|unique %}
{{ t }}
{% endfor %}
如果你的jinja 版本是<2.10你可以自己定义这个过滤器:
@app.template_filter('unique')
def unique(s):
return list(set(s))
您可以找到有关编写自定义神社过滤器的更多信息 here
