通常,当您想在Jinja2中将字符串输出标记为安全时,您可以执行以下操作:
{{ output_string|safe() }}
但是,如果output_string 总是安全怎么办?我不想每次都使用安全过滤器重复自己。
我有一个名为“emailize”的自定义过滤器,可以在电子邮件中为输出添加网址。 &符似乎总是逃脱。我的自定义过滤器中有一种方法可以将输出标记为安全吗?
答案 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),
})