In Django, wie bekomme ich entkommen HTML in HttpResponse?

8

Der folgende Code in einer meiner Ansichten gibt eine unescaped HTML-Zeichenfolge zurück, die im Frontend nicht geparst werden kann, da es sich um eine Ajax-Anfrage handelt.

%Vor%

Was ist der einfachste Weg, dies zu korrigieren? Vielen Dank im Voraus ..

    
Nullpoet 22.12.2009, 13:07
quelle

3 Antworten

17

Lakshman Prasad 's Antwort ist technisch korrekt, aber ein bisschen umständlich. Ein besserer Weg zum escape Text wäre (wie in einem Kommentar von miku oben vorgeschlagen):

%Vor%     
Joel Cross 19.07.2012 10:06
quelle
5

Verwenden Sie django.http.HttpResponse

, um aus Ihrer Sicht einfach nur HTML an den Client zurückzugeben %Vor%

Um zu verhindern, dass das Django-Templating-System HTML in einer Vorlage verlässt, verwenden Sie einfach den |safe -Filter:

%Vor%     
Josh Hunt 22.12.2009 13:16
quelle
1

Es sollte standardmäßig entkommen.

Aber wenn Sie möchten, können Sie explizit das Escapen erzwingen.

%Vor%     
Lakshman Prasad 22.12.2009 14:45
quelle