7个月前有人问过类似的问题,但没有得到回复。
我遇到以下问题: 我想在 for 循环中附加到 jinj2 中的列表。
有效的是:
{% set test = [] %}
{% for i in range(5) %}
{{ test.append(i) }}
{% endfor %}
但它会将 {{test.append(i)}} 的返回值(即 None)“打印”到我的 html 文档中。所以我必须把它注释掉
<! -- {{ test.append(i) }} -->
它执行 jinja 代码,但“禁用”html 的返回值。
但是我问自己,是否有更好的解决方案。
{% set test.append(i) %}
例如不起作用(预期标记“语句块结束”,得到“(”)
我找到了使用命名空间的解决方案。
{% set data = namespace(test=[]) %}
{% for i in range(5) %}
{% set data.test = data.test + [i] %}
{% endfor %}
{{ data.test }}