内で動作しないだけで2 <br>
ショー上記のコードの安全なフラグ小枝安全なHTMLは、安全なコンテンツの小枝マクロを使用して、マクロ
{% macro identity(value) %}
{{ value }}
{% endmacro %}
{{ "<br>"| raw }}
{{ _self.identity( "<br>"| raw) }}
{% autoescape false %}
{{ _self.identity( "<br>"| raw) }}
{% endautoescape %}
を削除しているようです。エスケープを無効にする方法、または小枝マクロを編集せずにコンテンツを安全にマークする方法はありますか?
おそらく '_self.identity("
")と書いたかったのでしょうか?あなたが関数からの生の結果を望むならば、「生の」。 –
動作しません。私はこれがフィルタでは '{{}}'があり、これはエスケープフィルタ '
| e。私の唯一の回避策は、すべてのマクロに生のフィルターを置き、必要なときに手動でエスケープすることです。 '' '{%マクロID(%)%} {{値| raw}} {%endmacro%} {{_self.identity(no_safe_content)| e}} '' ' – Jerome
はい、それは' {{value | raw}} 'でのみ動作します。 '{{value}}'はHTMLタグをエスケープするように見えますが、 '{%autoescape false%}'を呼び出すとHTMLタグがHTMLエンティティに変換されているので結果は変わりません。 –