2014-11-05 31 views
1

如果我有結構是這樣的:如何使用包含「。」的鍵訪問字典參數(點)在Jinja2?

parameters = {'key1': {'nested_key2': 'value'}} 

我知道如何在Jinja2的模板訪問「價值」:

template data 
{{ key1.nested_key2 }} 
more template data 

我可以在Jinja2的模板訪問下面的結構中定義的「價值」 ?

parameters = {'some.key1': {'another.nested_key2': 'value'}} 

這種方式引起人們對錯誤的「某些」被沒有定義...

template data 
{{ some.key1.another.nested_key2 }} 
more template data 

所以,我怎麼能在後一種情況下,從Jinja2的模板訪問「價值」?

回答

3

你仍然可以使用的字典方式訪問這個在Jinja2的,所以你可以使用它作爲parameters['some.key1'].another.nested_key2

在你的情況,有沒有叫some定義和存在和key1一個.之間some它不能將其解析爲任何變量。

另一件事是,我強烈建議您使用_而不是.來避免這個問題,否則就不會帶來麻煩。