如何在jinja2模板中获取所有必需的变量和属性

2024-09-27 02:15:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用jinja2为自己构建一个配置生成器。在尝试渲染模板之前,我需要知道预期的变量及其键是什么,以便在模板渲染之前提供要填充的示例文件。所需参数将根据所选配置类型和使用的模板而更改。我不想存储所有必需的参数,因为模板将不时更改,而且还将添加新模板。每个模板将有50ish参数

下面是一个示例模板文件

{{data.config1[0].field1}}
{{data.config2[0].field3}}
firt level change test
{% for row in data.config1 %}
{% if row.field3=='1' %}
something {{row.field1}} {{row.field2}}
{% else %}
something {{row.field1}}
{% endif %}
{% endfor %}
footer thingy
{{data.config2[0].field5}}

我尝试使用jinja2.meta包中的find_undeclared_变量 这是我的示例代码

^{pr2}$

这就是我能得到的

{'data'}

我想要的输出是这样的。在

{'config1':['field1','field2','field3'], 'config2':['field3','field5']}

请提出建议。在


Tags: 文件模板jinja2示例类型data参数something

热门问题