10

私がこの文字列を持っているとしましょう:

s = '<p>Hello!</p>'

この変数をテンプレートに渡すときに、生の html としてレンダリングする必要があります。ドキュメントを見ると、安全なフィルターを使用できることがわかります。

{{s|safe}}

または自動エスケープを無効にします。

{%autoescape off}
{{s}}
{%endautoescape%}

または、Python コード内で安全と宣言します。

from django.utils.safestring import mark_safe
s = mark_safe(s)

これらのオプションはどれもうまくいきません。何をしても、文字列は次のように表示されます。

<p>Hello!</p>

私は何かを見逃しているに違いない、ただ何がわからなかった。エスケープを禁止するセキュリティ設定がどこかにありますか?

編集:奇妙なことに、コンピューターを再起動した後、問題はなくなったようです。

4

3 に答える 3

10

以下のように書けばいいと思います

{{s|escape|safe}}

それは私にとっては大丈夫です

于 2010-12-10T03:04:01.957 に答える
2

あなたはそれをかなりカバーしました、それらは確かに自動エスケープを無効にするすべての方法です。

あなたが話している値が実際にあると確信していますs = '<p>Hello!</p>'か?

私の推測では、その文字列のどこかに追加のエスケープがあると思います...

于 2009-05-15T22:56:45.400 に答える
-4

HTMLソースコードを見てみると、エスケープされている!? 私はそうは思わない。次のように、文字ごとに印刷する必要があります。

<
p
>
H
E
L
L
O
<
/
>
于 2010-01-21T13:37:43.177 に答える