Jinja2 - Flask视图中的过程变量

时间:2016-01-11 01:10:32

标签: python flask jinja2

我有一个Flask应用程序,允许用户为主Jinja2模板中的某些部分定义模板。 Jinja是否可以从字符串中处理变量?例如,应用程序视图传递以下变量:

report.summary='<p>This is a report for {{ user.first_name }}.</p>'

Jinja模板的相关部分是:

<h1>Summary</h1>
{{ report.summary }}

渲染输出为:

  

摘要

     

这是{{user.first_name}}的报告。

Jinja可以处理{{ user.first_name }},还是我被迫从烧瓶中自行进行变量替换?

1 个答案:

答案 0 :(得分:2)

我认为您可以使用render_template_string

report.summary=render_template_string(r'<p>This is a report for {{ user.first_name }}.</p>', user) 

文档:http://flask.pocoo.org/docs/0.10/api/#flask.render_template_string

否则,当您可以将用户和报告都传递给模板时,为什么在类字段中包含HTML?