Opened 7 years ago

Closed 7 years ago

Last modified 5 years ago

#13470 closed (duplicate)

Debug TEMPLATE_LOADERS causes 'source' to be set to "<unknown source>" when TEMPLATE_DEBUG is True

Reported by: sdeibel@… 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: UI/UX:

Description (last modified by Alex Gaynor)

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.

Change History (3)

comment:1 Changed 7 years ago by Alex Gaynor

Description: modified (diff)

Please use preview.

comment:2 Changed 7 years ago by Karen Tracey

Resolution: duplicate
Status: newclosed

This has already been reported and fixed in #12992.

comment:3 Changed 5 years ago by Jacob

milestone: 1.2

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top