Django - 在模型中存储未转义的HTML
我想在我的Django模型中存储原始的、未经转义的HTML,以便在我的主页上显示。但是,当我把它存储在TextField里时,它被转义了,结果只显示成了普通文本。我该怎么做才能在Django模型中存储原始HTML呢?
** 编辑 **
看起来问题不是出在模型层,而是在模板层。有没有什么特殊的标签我应该使用?我在命令行里检查过这个值,它是正常的,但不知为什么当我在模板中使用{{ block.html }}(html是存储实际HTML的block对象的属性)时,结果却是这样:
<p>This is a <strong>very</strong> <em>important</em> <span style="text-decoration: underline;">block</span></p>
<p style="padding-left: 30px;">it has very significant content!</p>
1 个回答
17
你可以使用 safe
过滤器来显示不经过转义的文本,也可以使用 escape
过滤器来显示经过转义的文本。此外,你还可以使用 autoescape
标签来设置一个区域。比如可以用 {% autoescape on %}
来开启转义,或者用 {% autoescape off %}
来关闭转义。