Санитайзеры
Markupsafe
markupsafe — эскейпинг символов для использования строк в html и xml документах. Реализует интерфейс __html__
, и может принимать объекты от других библиотек, которые реализуют этот же интерфейс
Пример:
from markupsafe import Markup
Markup.escape('<a href=x>t</a>')
Однако, надо иметь ввиду, что следующая запись наоборот позволяет прокинуть html без анкодинга:
from markupsafe import Markup
Markup('<a href=x>t</a>')
bleach
bleach — библиотека от Mozilla для экранирования html конструкций
Пример:
import bleach
ALLOWED_TAGS = [
'br', 'h1'
]
ALLOWED_ATTRS = {
'*': ['class'],
'a': ['href'],
'img': ['src'],
'div': ['id', 'some']
}
cleaned = bleach.clean(html_text, tags=ALLOWED_TAGS, attributes=ALLOWED_ATTRS)
Last updated