Je veux montrer du texte à l'utilisateur. La variable de chaîne que j'envoie plusieurs caractères de New ligne et je ne veux pas bar.html: p> Cependant, autocoescape est activé et ce que je vois est Quelle est la bonne façon de faire cela? p> p> \ n code> à afficher. Donc, j'ai fait:
f
O
O code>. De plus, ma méthode n'est pas sûre, je veux chaque étiquette sauf
code> à échapper du texte. J'ai examiné le module de flask.Markup et mais elles ne fonctionnent pas vraiment non plus. P>
3 Réponses :
Tourner AutooScaping OFF dans le modèle JINJA2 ou utilisez un bloc brut . P>
Cela ne serait pas sûr. Question des États "Ma méthode n'est pas sûre, je veux chaque étiquette sauf
code> à échapper du texte" afin que ce soit un trou XSS.
Vous êtes correct - je n'ai pas lu la question avec précaution suffisamment; Voir ma deuxième réponse pour une meilleure solution.
Je voulais savoir comment éteindre les autonscataires et le lien Doc m'a sauvé un peu de temps.
Il y a deux approches raisonnables que vous pourriez prendre.
Comme vous combinez une entrée dangereuse avec HTML dans une seule variable Voici l'application complète pour le démontrer. Il utilise le même modèle flask.Markup code> est en fait une façon pratique de faire cela. L'idée de base est de diviser votre texte sur les caractèresWLINE, assurez-vous de vous échapper à HTML échapper à chacune des lignes que vous ne faites pas confiance, puis de les coller ensemble jointes par
code> Tags que vous faites confiance. . P> bar.html code> comme dans votre question. Notez que j'ai ajouté un système HTML dangereux au code> code> comme une démonstration de la raison pour laquelle la mise hors tension automatique est
<html>
{%- for line in text -%}
{{ line }}
{%- if not loop.last -%}
<br />
{%- endif -%}
{%- endfor -%}
</html>
La seconde moitié de votre réponse est exactement ce que je pensais.
C'est ma solution préférée aussi. J'ai ajouté une conclusion pour que cela soit clair et expliquer pourquoi.
Je quitterai Ma réponse précédente en tant que mauvais em> " un très Une bonne solution pour ce genre de chose est un filtre personnalisé , qui laisserait Vous utilisez une syntaxe telle que p> qui, commodément, vous pouvez faire avec Ce NL2BR code> Snippet de filtre
(ou personnalisez facilement)! P> P>