Python render_template retourne texte HTML au lieu du HTML
pic-vert_furtif -
Bonjour,
J'aimerais pouvoir récupérer sur mon serveur Flask (en Python) une page web dont certains bouts ont étés ajoutés grâce à la méthode render_template de Flask
Plus précisément :
J'ai une page html (simplifiée) :
<head>
</head>
<body>
{{ codeHTML }}
</body>
et j'aimerais la compléter pour l'envoyer sur mon serveur grâce à la méthode render_template sous la forme suivante :
render_temlate("page.html", code=codeHTML)
Malheureusement le code HTML ne s'affiche pas comme prévu : il s'affiche en tant que texte
Est-ce que quelqu'un aurait une solution
Merci ????
@+
- Python render_template retourne texte HTML au lieu du HTML
- Editeur html - Télécharger - HTML
- Ecran retourne - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Espace en html ✓ - Forum HTML
- [**] Balise pour un espace vide en hml. Merci ✓ - Forum Webmastering
2 réponses
Par défaut les inclusions {{ ... }} d'informations échappent les caractères HTML (évite les failles de XSS et autre du même genre).
Il faut probablement ajouter un filtre, par exemple sur Twig, il faut mettre {{ CodeHTML|raw }}.
Selon https://flask.palletsprojects.com/en/2.1.x/templating/
Tu peux utiliser par exemple :
{% autoescape false %} <p>autoescaping is disabled here <p>{{ will_not_be_escaped }} {% endautoescape %}
Plus de détail dans la section "Controlling Autoescaping".
Bonjour, ce n'est tout de même pas clair ce que tu énonces.
Dans ton template il y a un codeHTML, et dans ton code python t'as un « code » qui n'est pas dans ton template, cela devrait donc être
render_template("page.html", codeHTML=codeHTML)
Que vaut la variable codeHTML ? C'est elle qui est du html ? Pourquoi ce html n'est pas dans un autre template que tu incluerais dans celui-là ?
Bon, mon message bogue, et je ne sais pas pourquoi...