Преобразование из Markdown в HTML в проекте Django
Я работаю над проектом, который включает в себя использование Python, Django, HTML и Markdown. Мне нужно разработать сайт, похожий на википедию, на самом деле проект называется энциклопедия. Моя цель состоит в том, чтобы по адресу visit / wiki / TITLE, где TITLE - это заголовок статьи энциклопедии, отображалась страница, которая показывает содержание этой статьи энциклопедии. Записи энциклопедии - это CSS Django Git HTML Python (каждая запись имеет свой собственный .md файл). проблема, с которой я столкнулся, связана с библиотекой "markdown". На практике я смог преобразовать синтаксис из markdown в HTML, но на выходе я получаю только теги в письменном виде, без применения их стандартного стиля к содержимому внутри них. Я прилагаю код, который я написал для преобразования, и скриншот полученного результата.
from django.shortcuts import render
import markdown
from . import util
def index(request):
return render(request, "encyclopedia/index.html", {
"entries": util.list_entries()
})
def entry(request, title):
content = util.get_entry(title)
if content == None:
content = markdown.markdown(f'## {title.capitalize()}\'s page has not been
found')
content = markdown.markdown(content)
return render(request, f"encyclopedia/entry.html", {
'title': title,
'content': content
})
Вам необходимо отключить экранирование содержимого HTML, используя |safe
фильтр шаблона [Django-doc]:
{{ content|safe }}