Dans Django, Comment puis-je obtenir échappé html dans HttpResponse?
Le code suivant dans l'un de mes points de vue renvoie sans échappement html de chaîne qui ne peut pas être analysé en frontend puisque c'est une requête Ajax.
return render_to_response(template_name, {
'form': form,
redirect_field_name: redirect_to,
'site': current_site,
'site_name': current_site.name,
}, context_instance=RequestContext(request))
Quelle est la façon la plus simple pour corriger cela ?
Merci d'avance..
django.utils.html.escape()?
OriginalL'auteur Nullpoet | 2009-12-22
Vous devez vous connecter pour publier un commentaire.
Lakshman Prasad's réponse est techniquement correct, mais un peu lourd. Une meilleure façon de échapper texte serait (comme suggéré dans un commentaire de miku ci-dessus):
OriginalL'auteur Joel Cross
Pour revenir simplement le code HTML pour le client à partir de l'intérieur de votre point de vue, l'utilisation
django.http.HttpResponse
Pour empêcher le système de template de Django de s'échapper HTML dans un modèle, il suffit d'utiliser la
|safe
filtre:Donc, vous voulez
<p>
de changer de<p>
?, ou rester comme<p>
?OriginalL'auteur Josh Hunt
Il doit s'échapper par défaut.
Mais, si vous le souhaitez, vous pouvez explicitement la force de s'échapper.
OriginalL'auteur Lakshman Prasad