--- a/web/lib/django/template/debug.py Wed May 19 17:43:59 2010 +0200
+++ b/web/lib/django/template/debug.py Tue May 25 02:43:45 2010 +0200
@@ -2,6 +2,7 @@
from django.utils.encoding import force_unicode
from django.utils.html import escape
from django.utils.safestring import SafeData, EscapeData
+from django.utils.formats import localize
class DebugLexer(Lexer):
def __init__(self, template_string, origin):
@@ -75,16 +76,19 @@
raise
except Exception, e:
from sys import exc_info
- wrapped = TemplateSyntaxError(u'Caught an exception while rendering: %s' % force_unicode(e, errors='replace'))
+ wrapped = TemplateSyntaxError(u'Caught %s while rendering: %s' %
+ (e.__class__.__name__, force_unicode(e, errors='replace')))
wrapped.source = node.source
wrapped.exc_info = exc_info()
- raise wrapped
+ raise wrapped, None, wrapped.exc_info[2]
return result
class DebugVariableNode(VariableNode):
def render(self, context):
try:
- output = force_unicode(self.filter_expression.resolve(context))
+ output = self.filter_expression.resolve(context)
+ output = localize(output)
+ output = force_unicode(output)
except TemplateSyntaxError, e:
if not hasattr(e, 'source'):
e.source = self.source