Ден*_*бин 3 python arrays jinja2
我正在将数组对象从Flask服务器中的视图传递到jinja2模板。假设名称为aList。当我尝试aList像这样更改内部的值时:
在Flask中:
aList = ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
在模板中:
{% set aList[0] = "work, dammit!" %}
Run Code Online (Sandbox Code Playgroud)
我收到此错误,告诉我模板中应使用“ =”而不是“ [”。
有人可以说在jinja2中使用数组的正确方法是什么?
第一:逻辑不应在模板中处理!
第二:如果您真的必须:
如果jinja不接受数组语法,则应该可以通过使用operator.setitemstdlib 来解决它。(确保添加operator到全局变量)
{% set foo = [0, 1, 2, 3, 4] %}
{% set _ = operator.setitem(foo, 'some stuff') %}
{{ foo }}
Run Code Online (Sandbox Code Playgroud)