summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/template/__init__.py5
-rw-r--r--django/template/debug.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/django/template/__init__.py b/django/template/__init__.py
index 29daa76eac..e60ff64ebf 100644
--- a/django/template/__init__.py
+++ b/django/template/__init__.py
@@ -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
diff --git a/django/template/debug.py b/django/template/debug.py
index 008059c28f..c58c854858 100644
--- a/django/template/debug.py
+++ b/django/template/debug.py
@@ -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