防止模板逃脱&到&

时间:2014-06-30 19:44:16

标签: django django-templates

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

trademard = "MyCompany ™"

它将显示为TM

的正确HTML实体

但是,当传入时,™会变成& trade;

我怎样才能获得我想要的结果w / o周围的html块w / {%verbatim%}

由于

2 个答案:

答案 0 :(得分:3)

我找到了答案:

from django.utils.safestring import mark_safe
mystring = mark_safe("MyCompany ™")

效果很好!

答案 1 :(得分:2)

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

{{ trademard|safe }}

显然,请小心使用这些方法中的任何一种 - 如果数据来自用户输入的来源,则可能会导致HTML错误甚至是应用程序的安全漏洞。

官方文档有detailed explanation of HTML escaping,所有Django开发人员都应该花时间理解。