如何将传递给 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
我正在学习 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