Opened 15 years ago
Last modified 13 years ago
#13470 closed
Debug TEMPLATE_LOADERS causes 'source' to be set to "<unknown source>" when TEMPLATE_DEBUG is True — at Initial Version
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Uncategorized | Version: | 1.2-beta |
Severity: | Keywords: | settings template_debug template_loaders template node source | |
Cc: | sdeibel@… | Triage Stage: | Unreviewed |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
A work around is to set settings.py TEMPLATE_LOADERS to start with (or
contain only) the following:
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
However, it seems it would be good to properly set 'source' on nodes when
TEMPLATE_DEBUG is True. To fix this, change template/loader.py's
BaseLoader.load_template to read as follows so that an origin object
is properly created and sent into get_template_from_string when
TEMPLATE_DEBUG is True:
def load_template(self, template_name, template_dirs=None):
source, origin = self.load_template_source(template_name, template_dirs)
origin_obj = make_origin(origin, self, template_name, template_dirs)
template = get_template_from_string(source, origin=origin_obj, name=template_name)
return template, origin
This is based on the 1.2beta-1 release.