Python 使用有效负载覆盖字典Jinja模板
我有一个函数,它从一个文件加载一个Jinja模板,然后应用一个有效负载来设置模板变量Python 使用有效负载覆盖字典Jinja模板,python,jinja2,Python,Jinja2,我有一个函数,它从一个文件加载一个Jinja模板,然后应用一个有效负载来设置模板变量 env = Environment(loader=FileSystemLoader(output_dir), trim_blocks=True, lstrip_blocks=True) template_file = os.path.basename(spec_file) template = env.get_template(template_file) jinja_file = template.rende
env = Environment(loader=FileSystemLoader(output_dir), trim_blocks=True, lstrip_blocks=True)
template_file = os.path.basename(spec_file)
template = env.get_template(template_file)
jinja_file = template.render(payload)
示例:
ini_input = str(spec_dict)
template = jinja2.Template(ini_input)
result = template.render(payload)
final_wf = ast.literal_eval(result)
文件内容
Name: '{{NameID}}'
Age: 12
有效载荷:
{'NameID': 'Mugiwara No Luffy'}
输出:
Name: 'Mugiwara No Luffy'
Age: 12
我想从字典而不是文件中加载内容
因此,我们将从字典中加载模板,并从有效负载中设置值
故障排除:
ini_input = str(spec_dict)
template = jinja2.Template(ini_input)
result = template.render(payload)
final_wf = ast.literal_eval(result)
我尝试使用jinja2.DictLoader而不是文件系统加载器
但仍然无法为其实施适当的解决方案。
我是jinja2 lib的初学者
有人能帮我解决这个问题吗
谢谢。使用jinja2.Template解决问题。: 步骤:
ini_input = str(spec_dict)
template = jinja2.Template(ini_input)
result = template.render(payload)
final_wf = ast.literal_eval(result)