Jinja 2 sécuritaire mot-clé
J'ai un petit problème de compréhension du sens d'une expression comme {{ something.render() | safe }}
.
De ce que j'ai vu, sans le safe
mot clé sorties de l'ensemble du document html, et pas seulement le vrai contenu.
Ce que je voudrais savoir, est ce qu'il fait, comment il fonctionne .
OriginalL'auteur coredump | 2012-09-09
Vous devez vous connecter pour publier un commentaire.
La
safe
filtre explicitement les marques d'une chaîne de caractères comme "sûrs", c'est à dire, il ne devrait pas être automatiquement échappé si l'auto-échappement est activé.La documentation sur ce filtre est ici.
Voir la section sur les manuel d'échapper à pour voir quels sont les personnages se qualifier pour l'échappement.
OriginalL'auteur
Normalement texte HTML échappement (donc
<b>
serait écrit comme<b>
, qui rendrait comme<b>
).Quand vous mettez
|safe
après quelque chose, vous dites que le moteur de template que vous avez déjà échappé le texte vous-même, c'est à dire "il est sûr de se rendre directement". Afin de ne pas faire de l'encodage pour vous.Pour plus d'informations: http://jinja.pocoo.org/docs/templates/#html-escaping
OriginalL'auteur
Pour tous ceux qui arrivent ici en cherchant à utiliser le coffre-fort de filtre programme: de l'envelopper dans un
markupsafe.Markup
classe, sur lequel Jinja2 dépend.OriginalL'auteur