2017-12-27 29 views
0

私のジンジャーテンプレートの辞書に動的値を渡そうとしていますが、これは値です。 コードは以下の通りです:Jinja2値渡し値

ここ
"wan_link_info": [ 
{% for i in range(3) %} 

{ 
    "dummy": "{{ xyz_Links.abc_{{ i }}.abc_link_type }}", 
} 
{% endfor %} 
] 

ダミーxyz_Links.abc_0.abc_link_type、xyz_Links.abc_1.abc_link_typeのような値を持つことになります、など

これらのテキストが値を返します。 例は言う: {{xyz_Links.abc_0.abc_link_type}} = "StackOverflowのは" {{xyz_Links.abc_1.abc_link_type}} = "Facebookの"

私は上記のコードを実行すると、私はこのエラーを取得: " jinja2.exceptions.TemplateSyntaxError:予期したトークン 'end of print statement'、 '{' "を取得しました。

+0

私が使用して、必要なテキストを形成することができました。しかし、link_typeを "dummy"(つまり "dummy": "{{link_type}}")に渡すと、テキストと同じ内容が出力され、値は取得されません。どんなリードも高く評価されます。 – Abhijit

答えて

0

dict値を取得しようとしているようです。なお、このように実装することができる:{%セットLINK_TYPE = 'xyz_Links.abc_' + I |文字列+ '.abc_link_type' %}

"wan_link_info": 
       [ 
       {% for instance in xyz_Links %} 
        { 
        "dummy": "{{ xyz_Links[instance].abc_link_type }}", 
        } 
       {% endfor %} 
       ]