如果我有这样的结构:
parameters = {'key1': {'nested_key2': 'value'}}
Run Code Online (Sandbox Code Playgroud)
我知道如何访问 Jinja2 模板中的“值”:
template data
{{ key1.nested_key2 }}
more template data
Run Code Online (Sandbox Code Playgroud)
我可以在 Jinja2 模板中访问以下结构中定义的“值”吗?
parameters = {'some.key1': {'another.nested_key2': 'value'}}
Run Code Online (Sandbox Code Playgroud)
这种方式会导致“某些”未定义的错误......
template data
{{ some.key1.another.nested_key2 }}
more template data
Run Code Online (Sandbox Code Playgroud)
那么我如何从 Jinja2 模板访问最后一种情况的“值”?
您仍然可以使用 jinja2 中的字典表示法来访问它,因此您可以将其用作parameters['some.key1'].another.nested_key2
在你的情况下,没有什么叫做定义的,因为之间some有一个,它不能将其解析为任何变量。.somekey1
另一件事是,如果不造成不便,我强烈建议您使用_而不是.for来避免此问题。some.key1