16

GAE では、自動エスケープで jinja2 を使用していますが、すべてうまく機能します。

import jinja2
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape = True)

あるテンプレートでは、自動エスケープが必要ないため、次のように無効にしようとしました:

{% autoescape false %}
{{content}}
{% endautoescape %}

このテンプレートをレンダリングするとき、メッセージが表示されますEncountered unknown tag 'autoescape'.

4

2 に答える 2

18

これを試して:

{{ content | safe}}

ドキュメント:

于 2013-12-15T13:51:41.033 に答える
6

タグが認識されるようにするには、次autoescapeのように、jinja2 のセットアップ時に autoescape 拡張機能を有効にする必要があります。

jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
                               autoescape = True,
                               extensions = ['jinja2.ext.autoescape'])

また、app.yaml で jinja2 バージョン 2.4 以降を使用していることを確認してください (現在のバージョンは GAE 2.6 です)。

libraries:
- name: jinja2
  version: "2.6"

詳細については、autoescape 拡張機能のドキュメントを参照してください。

于 2013-07-17T21:45:49.360 に答える