Django - 在模型中存储未转义的HTML

11
我试图将未转义的HTML存储在Django模型中以在首页显示,但当我将它存储在TextField中时,它被转义了,最终只显示为原始文本。如何在Django模型中存储原始的HTML?
** 编辑 **
似乎它不是在模型层中被转义,而是在模板层中。我应该使用特殊标签吗?我在Shell中检查了值,一切都很好,但出现问题的是,在模板中执行{{ block.html }}(html是存储实际HTML的块对象的属性)时,结果会变成这样:
<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 %}

请注意使用 |safe 过滤器或禁用自动转义的安全隐患。确保通过该过滤器/块的内容是真正安全的。 - Lie Ryan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接