如何在Jinja2的视图(或模板)中将字符串标记为“安全”?

时间:2009-08-13 02:10:25

标签: django django-templates jinja2

通常,当您想在Jinja2中将字符串输出标记为安全时,您可以执行以下操作:

{{ output_string|safe() }}

但是,如果output_string 总是安全怎么办?我不想每次都使用安全过滤器重复自己。

我有一个名为“emailize”的自定义过滤器,可以在电子邮件中为输出添加网址。 &符似乎总是逃脱。我的自定义过滤器中有一种方法可以将输出标记为安全吗?

2 个答案:

答案 0 :(得分:11)

使用Markup类:

  

class jinja2.Markup([string])

     

将字符串标记为可安全包含在HTML / XML输出中而无需转义。

答案 1 :(得分:11)

检查SafeString,例如:

from django.utils.safestring import SafeString
...
return context.update({
        'html_string': SafeString(html_string),
})