2016/02/29

[Python][Jinja2][Google App Engine]autoescapeをキャンセル

Google App Engine上のPythonコードで下のように書くときがある。

JINJA_ENVIRONMENT = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
    extensions=['jinja2.ext.autoescape'],
    autoescape=True)
でhtmlに変数を表示するときは、
{{ hoge }}
のよう書くわけだが、そのときに、わざとhtmlを実行してほしいときがるので、そんな時は
{% autoescape false %}
{{ hoge }}
{% endautoescape %}
とすることにより、hogeがhtmlコードの場合は、それをevalしてくれる。

結構便利な技。

0 コメント:

コメントを投稿