jinja2:跟踪for循环中的前一个值

时间:2017-06-29 21:56:18

标签: python jinja2

在jinja2 for循环中,如何跟踪变量的先前值(为了显示“组”之间的中断)?明显而直截了当的答案:

Dockerfile

...由于jinja2的范围规则不起作用 - 通过循环的每个新时间都看到相同的'unk'。我该如何解决这个限制?

编辑:我正在寻找我的一些旧代码,我做了类似的事情,显然这个DID与jinja2 2.8一起工作,但在2.9.6之前的某个时间打破了。所以我想一个解决方案就是降级到2.8而只是呆在那里。

1 个答案:

答案 0 :(得分:0)

jinja无法更改变量的值,但可以使用字典更改键的值。 这会工作。

  {% set last_val={'key':'unk'} %}
  {% for object in data %}

     {% if object[0]!=last_val.key %}
        <output whatever separation code>
        {% set test = last_val.update({'unk':object[0]}) %}

     {% endif %}
     <other stuff>
  {% endfor %}