使用 markdown2 转换后的 HTML 不能很好地呈现

for*_*ohn 4 html python django markdown

我正在用 Python 处理一个 Django 项目,并使用 markdown2 将一些 Markdown 文本转换为 HTML,但它似乎做得不好,或者我在代码中遗漏了一些东西。

在我的 views.py 文件中,我使用自定义函数从 Markdown 格式的 .md 文件中提取一些文本,并使用 markdown2 模块尝试将其传递给 HTML 模板,如下所示:

text = markdown2.markdown(util.get_entry(entry))
Run Code Online (Sandbox Code Playgroud)

但是在 HTML 中,如果我检查源代码应该呈现为

HTML

出来是这样的:

<h1>HTML</h1>
Run Code Online (Sandbox Code Playgroud)

我的代码中遗漏了什么吗?错误是在 HTML 模板上还是在我的 views.py 文件中?

提前致谢!

Wil*_*sem 8

您可能已经在模板中渲染了内容:

{{ text }}
Run Code Online (Sandbox Code Playgroud)

Django 会默认对内容进行转义,因此替换<&lt;等。

您可以使用|safe模板过滤器 [Django-doc]来防止这种情况:

{{ text|safe }}
Run Code Online (Sandbox Code Playgroud)