diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-03-17 14:21:09 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-03-17 14:21:09 +0000 |
| commit | b5adaec4c23e3fa8ab52da1c10eb52f775d02209 (patch) | |
| tree | 6c7db0ba27240881970d9e9a75d57d5247c4018c | |
| parent | 732074541a17cde1d6d634007949d8a8c83cdc1a (diff) | |
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
| -rw-r--r-- | django/template/__init__.py | 5 | ||||
| -rw-r--r-- | django/template/debug.py | 2 |
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 |
