From b5f91761152685f8c7f6bed9dca3d0742532dffc Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Tue, 6 Feb 2007 13:59:24 +0000 Subject: [PATCH] Fixed #3441: VariableDoesNotExist is now a bit lazier about rendering its error message. Thanks, Brian Harring. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4461 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/template/__init__.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/django/template/__init__.py b/django/template/__init__.py index 7718801684..608055213f 100644 --- a/django/template/__init__.py +++ b/django/template/__init__.py @@ -117,8 +117,14 @@ class TemplateDoesNotExist(Exception): pass class VariableDoesNotExist(Exception): - pass + def __init__(self, msg, params=()): + self.msg = msg + self.params = params + + def __str__(self): + return self.mgs % self.params + class InvalidTemplateLibrary(Exception): pass @@ -660,7 +666,7 @@ def resolve_variable(path, context): try: # list-index lookup current = current[int(bits[0])] except (IndexError, ValueError, KeyError): - raise VariableDoesNotExist, "Failed lookup for key [%s] in %r" % (bits[0], current) # missing attribute + raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bits[0], current)) # missing attribute except Exception, e: if getattr(e, 'silent_variable_failure', False): current = settings.TEMPLATE_STRING_IF_INVALID