Commit b5adaec4 authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Fixed #5884 -- Added better display error handling for template variables.

Combined work from Karen Tracey and Thomas Güttler.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7260 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 73207454
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -129,7 +129,10 @@ class VariableDoesNotExist(Exception):
        self.params = params

    def __str__(self):
        return self.msg % self.params
        return unicode(self).encode('utf-8')

    def __unicode__(self):
        return self.msg % tuple([force_unicode(p, errors='replace') for p in self.params])

class InvalidTemplateLibrary(Exception):
    pass
+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ class DebugNodeList(NodeList):
            raise
        except Exception, e:
            from sys import exc_info
            wrapped = TemplateSyntaxError('Caught an exception while rendering: %s' % e)
            wrapped = TemplateSyntaxError(u'Caught an exception while rendering: %s' % force_unicode(e, errors='replace'))
            wrapped.source = node.source
            wrapped.exc_info = exc_info()
            raise wrapped