flask function render_template
。テンプレートのファイル名を指定する必要があります。しかし今、私はテンプレートの文字列(つまり、テンプレートのコンテンツ)をレンダリングしたいと思います。それは理にかなっている。しかし、今はその理由を説明したくありません。テンプレートのテキストを簡単にレンダリングするにはどうすればよいですか?
>>> from flask import render_template_string
>>> render_template_string('hello {{ what }}', what='world')
'hello world'
from_string を使用できます
template = "text {{ hello }}"
print app.jinja_env.from_string(template).render(hello='Hello')
>> text Hello
実際には、jinja2レンダー関数を直接呼び出すことができます。
jinja2.Template("I am {{ var }}").render(**kargs)
フラスコを使用しない場合、これは便利です
PythonでHTMLをエスケープする最も簡単な方法は何ですか から取得。
import cgi
rendered = render_template('template.html')
return cgi.escape(rendered)