Ответ 1
Используйте Markup класс:
класс jinja2.Markup([string])
Отмечает строку как безопасную для включения в выход HTML/XML без необходимости экранирования.
Обычно, когда вы хотите отмечать вывод строки как безопасный в Jinja2, вы делаете что-то вроде этого:
{{ output_string|safe() }}
Однако, что, если output_string всегда безопасно? Я не хочу повторять себя каждый раз, используя безопасный фильтр.
У меня есть настраиваемый фильтр под названием "emailize", который поддерживает URL-адрес для вывода в электронном письме. Кажется, что амперсанды убегают. Есть ли способ в моем настраиваемом фильтре отмечать вывод как безопасный?
Используйте Markup класс:
класс jinja2.Markup([string])
Отмечает строку как безопасную для включения в выход HTML/XML без необходимости экранирования.
Отметьте SafeString, например:
from django.utils.safestring import SafeString
...
return context.update({
'html_string': SafeString(html_string),
})