16

通常、Jinja2で文字列出力を安全としてマークしたい場合は、次のようにします。

{{ output_string|safe() }}

ただし、output_stringが常に安全である場合はどうなりますか?安全なフィルターを使って毎回繰り返したくありません。

メールで出力するためにURLを準備する「emailize」と呼ばれるカスタムフィルターがあります。アンパサンドは常に逃げるように見えます。カスタムフィルターに出力を安全としてマークする方法はありますか?

4

2 に答える 2

14

たとえば、次のようにSafeStringを確認します。

from django.utils.safestring import SafeString
...
return context.update({
        'html_string': SafeString(html_string),
})
于 2009-12-06T10:30:11.667 に答える
10

Markupクラスを使用します。

クラスjinja2.Markup([string])

文字列を、エスケープする必要なしにHTML/XML出力に安全に含めることができるものとしてマークします。

于 2009-08-13T04:05:55.760 に答える