如何将传递给 HTML 的变量从 python 转换为 HTML?

how to convert a variable passed into HTML from python into HTML?

我正在学习 Django。我有一个 views.py 文件,可以将 markdown 转换为 html。然后将其作为变量传递,称为 body 到下面的 html 中。当我查看页面时,它没有将变量 body 转换为 html,而是显示:

<h1>CSS</h1> <p>Cats can run fast or slow <a href="/animals/HTML">HTML</a> page.</p>

下面是我的 html 文件。我想知道,为了让 Web 浏览器读取 html 而不是字符串而是 html,我是否需要做一些与 {{body}} 不同的事情?

{% extends "mapper/layout.html" %}

{% block title %}
    mapper
{% endblock %}

{% block body %}
    <h1>{{ title }}</h1>
    <div>
     {{ body }} 
    </div>

{% endblock %}

为了让 django 不转义传入的变量并且您信任该变量,就像您发送一个实际的 html 文件一样,那么您可以选择任何一种方法。

您可以在内置块标签中使用,例如:

{% autoescape off %}
    {{ body }}
{% endautoescape %}

或者您可以对该变量使用过滤器:

{{ body|safe|escape }}

参考文献:autoescape | safe