2017-12-27 234 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 %} 
       ]