Ich erstelle einen Administrator für Flask und SQLAlchemy und möchte den HTML-Code für die verschiedenen Eingaben mithilfe von an meine Ansicht übergeben render_template
. Das Template-Framework scheint sich automatisch aus dem HTML-Code zu entfernen, sodass alle <"'> in HTML-Entitäten konvertiert werden. Wie kann ich das deaktivieren, damit der HTML-Code korrekt gerendert wird?
163
userHome.html
und möchte diese verwendenreturn render_template('userHome.html')
, aber sie wird nicht korrekt gerendert und alle werden in meiner Chrome-Konsole zu HTML-Entitäten .trans
Tag muss dies als{% trans something=something|safe %}A {{something}} B{% endtrans %}
Sie können es auch als HTML-sicher für den Code deklarieren:
Übergeben Sie diesen Wert dann an die Vorlagen, und sie müssen ihn nicht
|safe
.quelle
Aus dem Abschnitt jinja docs HTML Escaping :
Beispiel:
quelle
Wenn Sie viele Variablen haben, die nicht maskiert werden müssen, können Sie einen
autoescape
Block verwenden:quelle
Einige Leute scheinen die automatische Landschaft auszuschalten, was Sicherheitsrisiken birgt , um die Zeichenfolgenanzeige zu manipulieren.
Wenn Sie nur einige Zeilenumbrüche in einen String einfügen und die Zeilenumbrüche in einen konvertieren möchten
<br />
, können Sie ein Jinja-Makro wie folgt verwenden :und in Ihrer Vorlage nennen Sie dies einfach mit
quelle