2015-11-03 38 views

回答

0

可能有safe逃吧,是這樣的:

{{json_stuff | safe}} 
+0

不一定是這樣,它取決於數據是如何生成的。但是OP正在嵌套Jinja2括號,這是沒有必要的。 –

2

只需使用一對{{}}括號:

{{ config['port'] * (channel_id * 100) - 100 }} 

括號告訴神社「在這裏插入此計算表達式」。

1

下面是一個簡短示例,演示如何從模板創建JSON字符串。尤其要注意一組{{ }}括號內的複雜數學表達式。

# First, let's create JSON from a template 
from jinja2 import Template 
template = Template(''' 
    { "port_addr_{{channel_id}}" : 
     {{ (config['port'] * channel_id * 100) - 100 }} 
    }''') 
jstring = template.render(channel_id=7, config={'port':5}) 

# Now test to confirm it's valid 
import json 
pdict = json.loads(jstring) 
assert pdict['port_addr_7'] == 3400