Ich bin ein Admin für Flask und SQLAlchemy erstellen, und ich möchte den HTML-Code für die verschiedenen Eingaben an meine Sicht mit render_template
übergeben. Die Templat Rahmen scheint die HTML automatisch zu entkommen, so dass alle < „'> in HTML-Entitäten umgewandelt werden. Wie kann ich deaktivieren, dass damit die HTML richtig macht?Übergeben von HTML zu Vorlage mit Flask/Jinja2
Antwort
der ideale Weg,
{{ something|safe }}
zu
ist . als Auto Entkommen vollständig ausschaltenkönnen Sie erklären, auch aus dem Code es HTML sicher:
from flask import Markup
value = Markup('<strong>The HTML String</strong>')
dann, dass valu passieren e zu den Vorlagen und sie müssen nicht |safe
es.
Markup existiert in Jinja2? – iamgopal
Markup ist eine Jinja2-Klasse, ja. Es implementiert eine gemeinsame Schnittstelle, die von vielen Python-Bibliotheken unterstützt wird (leider nicht Django). Sie können auch das sichere Markup-Paket verwenden, das dasselbe Objekt implementiert: http://pypi.python.org/pypi/MarkupSafe –
Dies ist das beste zum Schreiben von benutzerdefinierten Filtern, wenn der Filter einige Markup an die Vorlage übergeben muss. – erjiang
Vom jinja docs Abschnitt HTML Escaping:
Wenn die automatische Entkommen alles aktiviert ist standardmäßig mit Ausnahme Werte explizit gekennzeichnet als sicher entkommen. Diese können entweder in der Anwendung oder in der Vorlage mit dem | safe Filter markiert werden.
Beispiel:
<div class="info">
{{data.email_content|safe}}
</div>
http://jinja.pocoo.org/docs/dev/templates/#html-escaping – Akairis
- 1. Steuerlogik mit HTML :: Vorlage
- 2. Bild von Java-Applet zu HTML übergeben
- 3. Wert von PHP zu HTML übergeben
- 4. mischen HTML-Vorlage mit PHP-Code: PHP HTML-Vorlage
- 5. FlowRouter - Einfügen von Inhalten HTML-Vorlage
- 6. Verwenden von reagieren mit einer HTML-Vorlage
- 7. RoR HTML-Vorlage zu .docx
- 8. Wert von HTML zu AngularJS-Controller übergeben
- 9. Übergeben von Variablen in Vorlage von Funktion
- 10. Django übergeben Vorlage Variable zu benutzerdefinierten TemplateTag
- 11. Symfony3: Übergeben von Variablen an FrameworkBundle: Vorlage: Vorlage
- 12. Übergeben Sie JSON von Flasche zu Vorlage und dekodieren Sie HTML-Entität
- 13. Wie Daten an AngularJs übergeben werden HTML-Vorlage
- 14. Wie Parameter von Django Vorlage übergeben?
- 15. Meteor Variable von Vorlage zu Eisen Router übergeben
- 16. Wie mehrere Argumente zu Spacebar Helper von Meteor Vorlage übergeben?
- 17. Lesen von Daten aus Dateien und übergeben zu Vorlage Jade
- 18. Wie übergeben Sie Argument von Element in Listview zu Vorlage
- 19. Übergeben von Daten in die flask-Vorlage
- 20. Knockout-Vorlage - Bindung von Text an eine Funktion, mit Vorlage Daten übergeben in
- 21. Parameter an Twig-Erweiterung von Vorlage übergeben?
- 22. Django URLs direkt zu HTML-Vorlage
- 23. Export HTML-Tabelle zu xls Vorlage PHPExcel
- 24. Wie Übergeben von Werten von HTML-Seite zu ASPX-Seite?
- 25. Parameter an eine Vorlage übergeben
- 26. HTML Vorlage einschließlich
- 27. generieren HTML-Canvas von AngularJS Vorlage
- 28. HTML-Vorlage existiert nicht
- 29. Bootstrap-Popover mit benutzerdefinierten HTML-Vorlage arbeiten
- 30. HTML EMail Vorlage
hallo @Armin Ronacher, würden Sie bitte mehr erklären und ein Beispiel geben? Vielen Dank. – Samoth
Ich meine, zum Beispiel habe ich eine Datei mit dem Namen 'userHome.html', und ich würde' return render_template ('userHome.html') 'verwenden, aber es wird nicht korrekt dargestellt und alle werden zu ** html -Entitäten ** in meiner Chromkonsole. – Samoth
Im 'trans'-Tag muss das als' {% trans etwas = etwas | sicher%} A {{etwas}} B {% endtrans%} ' – Kangur