Передача HTML в шаблон с помощью Flask/Jinja2
Я создаю администратора для колбы и SQLAlchemy, и я хочу передать HTML для разных входов в мое представление, используя render_template
. Структура шаблонов, похоже, автоматически избегает html, поэтому все преобразуются в HTML-объекты. Как я могу отключить это, чтобы HTML отображался правильно?
3 ответов
вы также можете объявить его HTML безопасным из кода:
from flask import Markup
value = Markup('<strong>The HTML String</strong>')
затем передайте это значение шаблонам, и им не нужно |safe
его.
из раздела jinja docs HTML Escaping:
когда автоматическое экранирование включено, все экранируется по умолчанию за исключением значений, явно помеченных как безопасные. Те могут быть отмечен приложением или в шаблоне с помощью |safe фильтр.
пример:
<div class="info">
{{data.email_content|safe}}
</div>