a ='abc'
文章中显示的Html特殊字符。
> {{ a | escape }}
'abc'
当我证明我想要无视时。
> {{ a | escape | safe }}
TemplateSyntaxError: Invalid filter: 'safe'
发生错误。
> from django.utils.safestring import mark_safe
> a = mark_safe(a)
也会发生此错误。
Django不会使当前的电流不适用于安全吗?
你对如何unescape有任何想法吗?
(我正在google-appengine开发。)
答案 0 :(得分:2)
您所询问的内容并不完全清楚,但您可以使用autoescape
template tag禁用Django的自动转义功能。例如:
>>> from django.template import Template, Context
>>> c = Context(dict(a = '<a href="#fragment">Link</a>'))
>>> Template("{{ a }}").render(c)
u'<a href="#fragment">Link</a>'
>>> Template("{% autoescape off %}{{ a }}{% endautoescape %}").render(c)
u'<a href="#fragment">Link</a>'
mark_safe
也有效:
>>> from django.utils.safestring import mark_safe
>>> Template("{{ a }}").render(Context(dict(a = mark_safe(a))))
u'<a href="#fragment">Link</a>'