防止模板转义 & 到 &

Pau*_*aul 6 django django-templates

在我的 Django 模板中,我想传入一个字符串,如下所示:

trademard = "MyCompany ™"
Run Code Online (Sandbox Code Playgroud)

它将显示为 TM 的正确 HTML 实体

然而,当它传入时,™ 会变成 ™

我怎样才能得到我想要的结果而不围绕 html 块 w/ {% verbatim %}

谢谢

Smi*_*ris 8

|safe正如 @karthikr 所说,另一种方法是在模板级别使用过滤器:

{{ trademard|safe }}

显然,使用这两种方法时要小心——如果数据来自用户输入的源,则可能会导致 HTML 错误甚至应用程序出现安全漏洞。

官方文档对 HTML 转义有详细的解释,所有 Django 开发者都应该花时间去理解。


Pau*_*aul 5

我找到了我的答案:

from django.utils.safestring import mark_safe
mystring = mark_safe("MyCompany ™")
Run Code Online (Sandbox Code Playgroud)

效果很好!