对于一个项目,在Python中使用Jinja2从j2模板和YAML文件生成SQL。 我编写的Python代码运行于所有给定的YAML,只有一个除外
“坏”YAML及其相应的错误如下所示:
{
"template": "create_named_user_v4.sql.j2",
"vars": [
{
"var_login_name": "user1@email.com",
"var_user_name": "USR1",
"var_display_name": "User 1",
"var_user_email": "user1@email.com",
"var_group": "PUBLIC",
"var_sso": "sso"
},
{
"var_login_name": "user2@email.com",
"var_user_name": "USR2",
"var_display_name": "User 2",
"var_user_email": "user2@email.com",
"var_group": "PUBLIC",
"var_sso": "sso"
}
]
}
> ctx = self.new_context(dict(*args, **kwargs)) ValueError: dictionary
> update sequence element #0 has length 6; 2 is required
我的Python代码如下所示:
data = yml_file["vars"]
query = template.render(data)
这个YAML和其他YAML之间的最大区别是“vars”返回一个坏的列表,而不是dict
与“坏”YAML匹配的j2模板从以下内容开始:
{% for var_login_name, var_user_name, var_display_name, var_user_email, var_group, var_sso in j2_vars|sort %}
我的YAML、j2模板或Python代码是否有一个简单的修复程序,允许我为给定的用户运行Jinja2? 谢谢你的帮助,我真的很感激
目前没有回答
相关问题 更多 >
编程相关推荐