2017-09-16 9 views
0

私はループの中で変数の値を変更しようとしています。この方法では、最初の繰り返しのみを行い、次のすべての繰り返しを行うことができます。jinja2 /フラスコが変数の値を変更する

{% set vars = {'foo': True} %} 
{% for line in project[2].split('[newline]') %} 
{% if vars.foo %} 
    its true! 
{% else %} 
    its false! 
{% endif %} 
{% vars.update({'foo': False}) %} 
{% endfor %} 

出力は 'trueのように見えます!それは本当です!それは本当です!その本当の! '、そう、Jinjaは間違いなく変数が変更されたという事実を得ない。

また{% vars.update({'foo': False}) %}{% vars.foo == False %}に交換しようとしましたが、機能しませんでした。

ご協力ありがとう

答えて

3

私の問題は修正されました。

変数を使用する必要はありませんが、Jinja2にはループ内の反復回数が数えられます。

だから、僕は、このように私のコードを変更:

{% for line in project[2].split('[newline]') %} 
    {% if loop.index == 1 %} 
     its true! 
    {% else %} 
     its false! 
    {% endif %} 
    {% endfor %} 
関連する問題