【问题标题】:Markdown2 text rendering as a string using Python and Django使用 Python 和 Django 将 Markdown2 文本呈现为字符串
【发布时间】:2021-11-10 16:37:18
【问题描述】:

我正在做一个项目,该项目接受一个降价页面并将其转换为 HTML,然后再将其插入到正确的文档中。这是我正在运行的代码

Python

def markdown(request, entry):
pathOfFile = "entries/" + entry + ".md"
return render(request, "encyclopedia/entry.html", {
    "html_markdown": markdown2.markdown_path(pathOfFile)
})

HTML

{% block body %}
<div>
    {{ html_markdown }}
</div>
{% endblock %}

这就是网页上返回的内容

<h1>CSS</h1> <p>CSS is a language that can be used to add style to an <a href="/wiki/HTML">HTML</a> page.</p>

当我检查页面的源代码时,HTML 用引号括起来。问题是我的 html_markdown 变量被读取为字符串吗?我可以采取哪些步骤来使 HTML 正确呈现?提前感谢您的帮助!

【问题讨论】:

    标签: python django markdown


    【解决方案1】:

    html_markdown 将包含 原始 HTML,因此如果您在模板中呈现它,它将 转义 字符,例如 &amp;lt;&amp;lt; 等。

    您可以使用|safe template filter [Django-doc] 将字符串标记为“安全”,以防止转义这些字符:

    {% block body %}
    <div>
        {{ html_markdown|safe }}
    </div>
    {% endblock %}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2017-12-28
      • 2020-11-01
      • 1970-01-01
      • 2012-12-22
      相关资源
      最近更新 更多