Fixed #1531 -- Fixed eager exception catching that caused the template system to report a base template didn't exist when indeed it does exist but contains an {% include %} of a nonexisting template

git-svn-id: http://code.djangoproject.com/svn/django/trunk@2681 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-04-12 03:31:03 +00:00
parent c862e43f7f
commit 853ee34191
1 changed files with 3 additions and 1 deletions

View File

@ -50,9 +50,11 @@ class ExtendsNode(Node):
error_msg += " Got this from the %r variable." % self.parent_name_expr #TODO nice repr. error_msg += " Got this from the %r variable." % self.parent_name_expr #TODO nice repr.
raise TemplateSyntaxError, error_msg raise TemplateSyntaxError, error_msg
try: try:
return get_template_from_string(*find_template_source(parent, self.template_dirs)) source, origin = find_template_source(parent, self.template_dirs)
except TemplateDoesNotExist: except TemplateDoesNotExist:
raise TemplateSyntaxError, "Template %r cannot be extended, because it doesn't exist" % parent raise TemplateSyntaxError, "Template %r cannot be extended, because it doesn't exist" % parent
else:
return get_template_from_string(source, origin)
def render(self, context): def render(self, context):
compiled_parent = self.get_parent(context) compiled_parent = self.get_parent(context)