python - 如何在 Jinja2 中访问包含 "."(点)的键的字典参数?

标签 python 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 模板访问最后一个案例中的“值”?

最佳答案

您仍然可以在 jinja2 中使用字典符号访问它,因此您可以将它用作 parameters['some.key1'].another.nested_key2

在您的情况下,没有定义任何称为 some 的东西,因为在 somekey1 之间有一个 . > 它无法将其解析为任何变量。

另一件事是,我强烈建议您使用 _ 而不是 . 来避免这个问题,如果 some.key1否则不会造成不便。

关于python - 如何在 Jinja2 中访问包含 "."(点)的键的字典参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766705/

相关文章:

python - 尝试使用 wmi 对象时出错(python)

python - 如何从 Jinja2 模板中获取所有 undefined variable ?

vim gg=G html 和 jinja2

python - 尝试在 render_template() (Flask)之后使用访问另一个作用域中的变量?

python - Pandas,来自 2 个 DF 的两列的总和值

python - 为每个 Pandas 单元格设置相同的字典

python - 如何在Python3.7中使用pydensecrf?

python - 在python中存储时间长度的类型是什么?

javascript - 选择 flask 后不显示下拉选择的值?

html - 如何动态改变顶部菜单的背景颜色?