#html #django #markdown
#HTML #django #markdown
Вопрос:
У меня есть md-файл, который необходимо преобразовать в html (для веб-сайта блога). Фильтр (markdownify) преобразует md-файл в html-теги. Теперь html-теги отображаются на веб-сайте. Как мне отобразить этот HTML на веб-сайте (в шаблоне django).
Есть ли какой-либо фильтр для этого? Или есть какой-либо другой способ преобразовать md в html в django?
Код ->
<p>{{ post.body | markdownify }}</p>
md-файл ->
### h1 header
*jh*
* sdfs
* ksdjfh
* skdjkfhsk
[link] (#)
Вывод на веб-странице:
h1 header
<em>jh</em>
sdfs
ksdjfh
skdjkfhsk
[link] (#)
Ответ №1:
Добавив приведенный ниже код в settings.py решена проблема. Теги HTML теперь не отображаются на отображаемой веб-странице.
MARKDOWNIFY_WHITELIST_TAGS = {
'a', 'p', 'h1', 'h2', 'h3','h4', 'h5', 'h6', 'h7', 'ul', 'li', 'span', 'img', 'div', 'abbr', 'acronym', 'em', 'blockquote', 'i', 'strong', 'ol', 'b', 'code'
}
Ответ №2:
Может быть, попробовать {{ post.body | markdownify | safe }}
. Безопасный фильтр отключает любое дальнейшее экранирование HTML. Подробнее о фильтре читайте в документации Django.
Комментарии:
1. Нет, это не работает. Результат остается тем же. Большое спасибо за ваш ответ!