django.contrib.markup

Не рекомендуется, начиная с версии 1.5: This module has been deprecated.

Django предоставляет шаблонные фильтры, реализующие следующие языки разметки:

В каждом из представленных случаев фильтр ожидает получить соответственно отформатированную строку и возвращает строку размеченного текста. Например, фильтр textile преобразует текст формата Textile в HTML.

Для активации этих фильтров добавьте 'django.contrib.markup' в настройки INSTALLED_APPS. После того как это сделано, используйте в шаблоне {% load markup %}, чтобы получить доступ к фильтру. Для получения дополнительных сведений читайте django/contrib/markup/templatetags/markup.py.

Предупреждение

На выходе markup фильтр отмечает строки как “безопасные” и не экранирует символы HTML при выводе шаблона. Всегда будьте осторожны с фильтрами и проверяйте не оставляют ли они возможности проведения различных видов межсайтовых атак.

reStructured Text

Когда вы используете фильтр restructuredtext вы должны определить в настройках RESTRUCTUREDTEXT_FILTER_SETTINGS, чтобы переопределить параметры, установленные по-умолчанию. Для получения подробной информации обратитесь к странице restructuredtext writer settings.

Предупреждение

reStructured Text имеет свои особенности, благодаря которым возможно включение неэкранированных символов HTML и произвольных файлов. Это может привести к XSS уязвимости и потере приватной информации. Ответственность за проверку возможностей библиотеки и создание корректных настроек во избежание получения уязвимостей ложится на ваши плечи. Обязательно просмотрите следующую документацию: Deploying Docutils Securely .

Markdown

Библиотека Python Markdown поддерживает опции “safe_mode” и “enable_attributes”. Обе эти опции имеют прямое отношение к безопасности. Для их совместного использования markdown поддерживание аргумент “safe”:

{{ markdown_content_var|markdown:"safe" }}

Предупреждение

Python-Markdown до версии 2.1 не поддерживает опциональное отключение опций. Это брешь в безопасности. Поэтому поддержка Python-Markdown < 2.1 была прекращена в Django 1.5.