mirror of https://github.com/django/django.git
Fixed #6057 -- Mark rendered template output as safe for auto-escaping purposes.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6778 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
275cffaab1
commit
8de4ed9c8c
|
@ -804,7 +804,7 @@ class NodeList(list):
|
||||||
bits.append(self.render_node(node, context))
|
bits.append(self.render_node(node, context))
|
||||||
else:
|
else:
|
||||||
bits.append(node)
|
bits.append(node)
|
||||||
return ''.join([force_unicode(b) for b in bits])
|
return mark_safe(''.join([force_unicode(b) for b in bits]))
|
||||||
|
|
||||||
def get_nodes_by_type(self, nodetype):
|
def get_nodes_by_type(self, nodetype):
|
||||||
"Return a list of all nodes of the given type"
|
"Return a list of all nodes of the given type"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
unicode_tests = ur"""
|
unicode_tests = ur"""
|
||||||
Templates can be created from unicode strings.
|
Templates can be created from unicode strings.
|
||||||
>>> from django.template import *
|
>>> from django.template import *
|
||||||
|
>>> from django.utils.safestring import SafeData
|
||||||
>>> t1 = Template(u'ŠĐĆŽćžšđ {{ var }}')
|
>>> t1 = Template(u'ŠĐĆŽćžšđ {{ var }}')
|
||||||
|
|
||||||
Templates can also be created from bytestrings. These are assumed by encoded
|
Templates can also be created from bytestrings. These are assumed by encoded
|
||||||
|
@ -24,10 +25,13 @@ Contexts can be constructed from unicode or UTF-8 bytestrings.
|
||||||
>>> c4 = Context({u'var': '\xc4\x90\xc4\x91'})
|
>>> c4 = Context({u'var': '\xc4\x90\xc4\x91'})
|
||||||
|
|
||||||
Since both templates and all four contexts represent the same thing, they all
|
Since both templates and all four contexts represent the same thing, they all
|
||||||
render the same (and are returned as unicode objects).
|
render the same (and are returned as unicode objects and "safe" objects as
|
||||||
|
well, for auto-escaping purposes).
|
||||||
|
|
||||||
>>> t1.render(c3) == t2.render(c3)
|
>>> t1.render(c3) == t2.render(c3)
|
||||||
True
|
True
|
||||||
>>> type(t1.render(c3))
|
>>> isinstance(t1.render(c3), unicode)
|
||||||
<type 'unicode'>
|
True
|
||||||
|
>>> isinstance(t1.render(c3), SafeData)
|
||||||
|
True
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue