在 jinja2 中使用数组

working with arrays in jinja2

我正在将数组对象从我的 Flask 服务器中的视图传递到 jinja2 模板。假设名称是 aList。当我尝试像这样更改 aList 中的值时:

在烧瓶中:

aList = ['a', 'b', 'c']

在模板中:

{% set aList[0] = "work, dammit!" %}

我收到此错误,告诉我在模板中应使用“=”而不是“[”。

谁能告诉我在 jinja2 中使用数组的正确方法是什么?

第一:逻辑不应该在模板中处理!

第二:如果你真的必须:

如果 jinja 不接受数组语法,您应该可以使用标准库中的 operator.setitem 来解决它。 (务必将 operator 添加到 globals)

{% set foo = [0, 1, 2, 3, 4] %}
{% set _ = operator.setitem(foo, 'some stuff') %}
{{ foo }}