Question

Je suis un peu confus par cela parce qu'il semble que les modèles Django ont des filtres HTML facultatifs, mais cela semble se produire automatiquement .. Je fais cette application de démonstration où l'utilisateur va faire une action qui appelle un script python qui permet de retrouver une url, je veux alors afficher dans une nouvelle fenêtre .. son tout va bien, sauf lorsque l'affichage revient, le HTML est désinfecté dans ce format (je vois quand je vois la source de la page, dans le navigateur, il montre aussi régulier HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="content-type" /><script type="text/javascript">//<![CDATA[
si_ST=new Date

est la version régulière HTML du même:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="content-type" /><script type="text/javascript">//<![CDATA[ si_ST=new Date //]]></script><script type="text/javascript">//<![CDATA[ _G={ST:(si_ST?si_ST:new Date),Mkt:"en-

Je suis juste sortie à un bloc de base dans mon modèle html, le modèle n'a pas d'autre mise en forme (pas de HTML, etc.), à seulement 1 bloc où cette sortie va .. des conseils sur pourquoi cela se passe et comment afficher le code HTML régulier (il montrerait la page dans le navigateur et non le texte HTML) est apprécié .. merci

Était-ce utile?

La solution

Utilisez le filtre SafeSearch:

{{ myvariable|safe }}

Si vous avez besoin d'une grande partie de votre modèle goûterez comme celui-ci (qui est, si vous vous trouvez à l'aide |safe plus et plus), vous pouvez désactiver toute vente autoescaping:

{% autoescape off %}
blah {{myvariable}} blah {{myothervariable}}
{% endautoescape %}

Autres conseils

Jetez un coup d'oeil sur le filtre « sûr », ce qui désactive par défaut de Django s'échapper:

http://docs.djangoproject.com/en/1.2 / ref / templates / builtins / # sécurité

Il y a aussi autoescape qui contrôle s'échappant bloc large.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top