Python Flask 从变量中渲染文本 render_template

Python Flask Render Text from Variable like render_template

我知道 flask 函数 render_template。我必须给出模板的文件名。但是现在我想呈现模板的字符串(即模板的内容)。这就说得通了。但我现在不想解释为什么。如何简单地渲染模板的文本?

你可以使用from_string

template = "text {{ hello }}"
print app.jinja_env.from_string(template).render(hello='Hello')

>> text Hello

摘自 What's the easiest way to escape HTML in Python.

import cgi
rendered = render_template('template.html')
return cgi.escape(rendered)

您可以使用 render_template_string:

>>> from flask import render_template_string
>>> render_template_string('hello {{ what }}', what='world')
'hello world'

其实你可以直接调用jinja2渲染函数:

jinja2.Template("I am {{ var }}").render(**kargs)

不使用烧瓶时,这很有用