Как пометить строки как «безопасные» в представлении (или шаблоне) в Jinja2?

StackOverflow https://stackoverflow.com/questions/1269686

  •  13-09-2019
  •  | 
  •  

Вопрос

Обычно, когда вы хотите пометить вывод строки как безопасный в Jinja2, вы делаете что-то вроде этого:

{{ output_string|safe() }}

Однако что, если выходная_строка всегда безопасный?Я не хочу каждый раз повторяться, используя безопасный фильтр.

У меня есть специальный фильтр под названием «emailize», который подготавливает URL-адреса для вывода в электронном письме.Амперсанды всегда кажутся экранированными.Есть ли в моем пользовательском фильтре способ пометить вывод как безопасный?

Это было полезно?

Решение

Использовать Разметка сорт:

класс jinja2.Markup([строка])

Помечает строку как безопасную для включения в выходные данные HTML/XML без необходимости экранирования.

Другие советы

Проверять Сафестринг, например:

from django.utils.safestring import SafeString
...
return context.update({
        'html_string': SafeString(html_string),
})
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top