#8116: django.template.loader.select_template should not silently skip a
template
which includes another template that does not exist
---------------------------------------------+------------------------------
Reporter: Michael P. Jung | Owner: nobody
Status: new | Milestone: post-1.0
Component: Template system | Version: SVN
Resolution: | Keywords:
Stage: Design decision needed | Has_patch: 0
Needs_docs: 0 | Needs_tests: 0
Needs_better_patch: 0 |
---------------------------------------------+------------------------------
Comment (by Mike Amy):
Ran into this one...
Problem is bad exception handling... TemplateDoesNotExist exceptions
arising from the missing child templates are ignored in select_template,
in effect causing it to ignore the parent template. A fix is to check the
message in the exception (in django/template/loader.py ):
{{{
def select_template(template_name_list):
"Given a list of template names, returns the first that can be
loaded."
for template_name in template_name_list:
try:
return get_template(template_name)
except TemplateDoesNotExist, e:
if e.message is template_name: # <<< Check the template is not
a child template
continue
raise
# If we get here, none of the templates could be loaded
raise TemplateDoesNotExist, template_name_list
}}}
However, that is making assumptions about the exception, there ought to be
a better way, like a template_name attribute in the exception
--
Ticket URL: <http://code.djangoproject.com/ticket/8116#comment:3>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---