2017-12-27 267 views
0

我試圖在我的jinja模板中傳遞一個動態值給我的字典,而這個值又是一個值。 守則如下: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}} = 「#1」 {{xyz_Links.abc_1.abc_link_type}} = 「臉譜」

當運行上述代碼我得到這個錯誤: 「 jinja2.exceptions.TemplateSyntaxError:預期的令牌'打印語句結束',得到'{'「

+0

我是能夠形成通過使用所需的文本:{%集LINK_TYPE = 'xyz_Links.abc_' + I |字符串+ '.abc_link_type' %}。但是,當我將link_type傳遞給「dummy」(即「dummy」:「{{link_type}}」)時,它將打印與文本相同的內容並且不會獲取該值。任何線索將不勝感激。 – Abhijit

回答

0

它看起來像你試圖獲取字典值。它可以實現這樣的:

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