Django有一个称为 安全
字符串(特别是
SafeUnipre或
SafeString)的字符串子类,可以使用来创建
django.utils.safestring.mark_safe。当模板引擎遇到安全字符串时,它不会对其执行HTML转义:
>>> from django.utils.safestring import mark_safe>>> from django.template import Template, Context>>> Template("{{ name }}").render(Context({'name': mark_safe('<b>Brad</b>')}))u"<b>Brad</b>"
如果您正在编写自己的模板标签,则需要实现
render()该方法,该方法将返回将被视为安全的字符串,这意味着您必须自己处理所有必要的转义 *** 作。但是,如果要编写模板过滤器,则可以
is_safe= True在过滤器上设置属性,以避免自动转义返回的值,例如
@register.filterdef myfilter(value): return valuemyfilter.is_safe = True
有关详细信息,请参见https://docs.djangoproject.com/zh-CN/1.3/howto/custom-template-
tags/#filters-and-auto-
escaping。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)