Buduję administratora dla Flask i SQLAlchemy, i chcę przekazać kod HTML dla różnych danych wejściowych do mojego widoku przy użyciu render_template
. Ramy szablonów wydaje się automatycznie uciec html, więc wszystko < „'> są konwertowane do podmiotów html. W jaki sposób można wyłączyć, że tak, że kod HTML renderuje poprawnie?Przekazywanie kodu HTML do szablonu za pomocą Flask/Jinja2
Odpowiedz
idealnym sposobem jest
{{ something|safe }}
. niż całkowite wyłączenie automatycznego cytowanie
można również zadeklarować, że HTML bezpieczne z kodem:
from flask import Markup
value = Markup('<strong>The HTML String</strong>')
następnie przekazać tę VALU e do szablonów i nie muszą one do |safe
go.
czy znaczniki istnieją w jinja2? – iamgopal
Markup jest klasą Jinja2, tak. Implementuje wspólny interfejs obsługiwany przez wiele bibliotek Pythona (niestety nie Django). Można również użyć pakietu bezpiecznego znaczników, który implementuje ten sam obiekt: http://pypi.python.org/pypi/MarkupSafe –
Jest to najlepsze rozwiązanie do pisania niestandardowych filtrów, gdy filtr musi przekazać kilka znaczników do szablonu. – erjiang
W sekcji docs Jinja HTML Escaping:
Gdy włączone jest automatyczne Cytowanie wszystko jest domyślnie uciekł z wyjątkiem wartości wyraźnie oznaczone jako bezpieczne. Mogą one być oznaczone jako oznaczone przez aplikację lub w szablonie za pomocą | bezpiecznego filtru .
Przykład:
<div class="info">
{{data.email_content|safe}}
</div>
http://jinja.pocoo.org/docs/dev/templates/#html-escaping – Akairis
- 1. Uzyskiwanie kodu HTML za pomocą Pycurl
- 2. Przekazywanie pozycji argumentu szablonu variadic
- 3. Przekazywanie znaczników HTML do kierownicy
- 4. Przekazywanie tablicy do serwera za pomocą signalR
- 5. Generowanie kodu za pomocą Scala
- 6. Rozpakowywanie listy argumentów za pomocą szablonu Variadic
- 7. Przekazywanie zmiennej z szablonu django do widoku
- 8. Wykonaj sformatowany czas w plasterku za pomocą szablonu/html/template
- 9. Przekazywanie tablicy za pomocą COM?
- 10. Przekazywanie obiektu do atrybutów HTML
- 11. Przekazywanie danych za pomocą zdarzeń
- 12. Przekazywanie opcji do funkcji szablonu w thor
- 13. Przekazywanie nazwy pola do szablonu funkcji
- 14. Przekazywanie portów za pomocą paramiko
- 15. Idealne przekazywanie variading argumentów szablonu
- 16. Uzyskiwanie dynamicznie generowanego kodu HTML za pomocą Nokogiri/Open URI
- 17. Uzyskiwanie kodu HTML za pomocą MozRepl i Mechanize :: Firefox
- 18. Przekaż zmienną do szablonu html w nodemailer
- 19. Przekazywanie danych formularzy HTML do funkcji JavaScript
- 20. Przekazywanie zmiennej jako argumentu szablonu
- 21. Czyszczenie pola przesyłania pliku HTML za pomocą kodu JavaScript
- 22. Jak dodać efekt przełączania za pomocą zwykłego kodu html?
- 23. Przekazywanie parametrów za pomocą wiersza poleceń do NUnit
- 24. Wstawianie kodu HTML z serwera do DOM za pomocą metody angleular2 (ogólna manipulacja DOM w Angular2)
- 25. obniżka do html za pomocą określonego css
- 26. Edytor HTML Eclipse dla plików szablonu HTML
- 27. Programy do kompilowania HTML z szablonu
- 28. Przekazywanie tymczasowej struktury jako argumentu szablonu
- 29. Konfigurowanie profili za pomocą szablonu StructureMap
- 30. Przekazywanie tablicy do PHP za pomocą testu POST z iOS
hi @Armin Ronacher, to proszę wyjaśnić więcej i dać przykład? dzięki. – Samoth
Mam na przykład na przykład plik o nazwie 'userHome.html' i chciałbym użyć' return render_template ('userHome.html') ', ale nie renderuje się poprawnie, a wszystkie zwracają się do ** html ** w mojej chromowanej konsoli. – Samoth
W tagu 'trans' musi to być użyte jako' {% trans something = something | safe%} A {{something}} B {% endtrans%} ' – Kangur