使用Jinja渲染原始字符串

时间:2016-05-20 08:41:28

标签: python flask jinja2

我有一个字符串,我想将其视为Jinja模板。我尝试返回字符串,但它按原样发送,Jinja不会渲染它。我不想制作模板文件来使用render_template进行渲染。如何使用Jinja渲染字符串?

@app.route('/results')
def results():
    template = '''<div class="results">
        {% for option in options() %}
            <p>{{ option }}</p>
        {% endfor %}
    </div>
    '''
    return template

1 个答案:

答案 0 :(得分:5)

您正在寻找render_template_string

  

flask.render_template_string(source, **context)

     

使用给定的上下文从给定的模板源字符串中呈现模板。

     

参数:

     
      
  • source - 要呈现的模板的源代码
  •   
  • context - 应该在模板上下文中可用的变量。
  •   
from flask import render_template_string

在HTML字符串上调用它来渲染它,然后返回结果。

return render_template_string(template)