2017-04-19 23 views
-1

私はhtmlを含むTextFieldを持つモデルを持っています。
TextField<a href="http://googke.ru">google</a>を含む行があるとします。
APIは"<a href=\"http://googke.ru\">google</a>"を返します。シリアライザでエスケープせずにHTMLコンテンツを返す方法は?

"をエスケープするにはどうすればよいですか?

+0

API? 'mark_safe'を使うことができます:https://docs.djangoproject.com/en/1.11/ref/utils/#django.utils.safestring.mark_safe –

+0

こんにちは、@dimazurbik私は疑問に思っていました。 –

答えて

0

あなたはescapeという名前のメソッドを持っているhtmlモジュール、使用することができます:<、文字に&を変換し、> HTMLセーフ配列に文字列sに

html.escape(s, quote=True) 

を。このような文字がHTMLに 含まれている可能性のあるテキストを表示する必要がある場合は、これを使用します。オプションのフラグの引用がtrueの場合は、 文字( ")とは、( ')も翻訳され、これは<a href="...">のように、引用符で区切られたHTML属性値に含める のために役立ちます

新バージョン3.2に。 。s = '<a href="http://googke.ru">google</a>'その後:

sはとしよう

from html import escape 

html_line = escape(s) 

html_lines STRが含まれています呼ばれる、あなたは文字に< > &などを保つが、"のエスケープを避けたい場合は、あなたがhtmlモジュールの他の方法を利用することができ

&lt;a href=&quot;http://googke.ru&quot;&gt;google&lt;/a&gt; 

:このように見て、任意の「エスケープ」せずにINGのunescape

from html import unescape 

html_line = unescape(s) 

html_lineは、次のようになります。

<a href="http://googke.ru">google</a> 
関連する問題