Ticket #14765: little_tweak_of_tempate_rendering.patch

File little_tweak_of_tempate_rendering.patch, 1.7 KB (added by traff, 4 years ago)

makes what described in discussion

  • django/template/base.py

     
     1from __builtin__ import classmethod
    12import imp
    23import re
    34from inspect import getargspec
     
    737738    # extend_nodelist().
    738739    contains_nontext = False
    739740
     741    @classmethod
     742    def mark_safe_unicode(cls, bits):
     743        return mark_safe(''.join([force_unicode(b) for b in bits]))
     744
    740745    def render(self, context):
    741746        bits = []
    742747        for node in self:
     
    744749                bits.append(self.render_node(node, context))
    745750            else:
    746751                bits.append(node)
    747         return mark_safe(''.join([force_unicode(b) for b in bits]))
     752        return NodeList.mark_safe_unicode(bits)
    748753
    749754    def get_nodes_by_type(self, nodetype):
    750755        "Return a list of all nodes of the given type"
  • django/template/defaulttags.py

     
    192192        if len_values < 1:
    193193            context.pop()
    194194            return self.nodelist_empty.render(context)
    195         nodelist = NodeList()
     195        nodelist = []
    196196        if self.is_reversed:
    197197            values = reversed(values)
    198198        unpack = len(self.loopvars) > 1
     
    233233                # context.
    234234                context.pop()
    235235        context.pop()
    236         return nodelist.render(context)
     236        return NodeList.mark_safe_unicode(nodelist)
    237237
    238238class IfChangedNode(Node):
    239239    child_nodelists = ('nodelist_true', 'nodelist_false')
Back to Top