Fixed #6950 -- Modified initialization of template loaders to use a temporary variable instead of directly modifying the global loader list. Thanks, mrts.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7563 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2008-05-29 12:40:25 +00:00
parent 5837a45bd9
commit f696c175d8
1 changed files with 3 additions and 2 deletions

View File

@ -46,7 +46,7 @@ def find_template_source(name, dirs=None):
# circular import errors. See Django ticket #1292. # circular import errors. See Django ticket #1292.
global template_source_loaders global template_source_loaders
if template_source_loaders is None: if template_source_loaders is None:
template_source_loaders = [] loaders = []
for path in settings.TEMPLATE_LOADERS: for path in settings.TEMPLATE_LOADERS:
i = path.rfind('.') i = path.rfind('.')
module, attr = path[:i], path[i+1:] module, attr = path[:i], path[i+1:]
@ -62,7 +62,8 @@ def find_template_source(name, dirs=None):
import warnings import warnings
warnings.warn("Your TEMPLATE_LOADERS setting includes %r, but your Python installation doesn't support that type of template loading. Consider removing that line from TEMPLATE_LOADERS." % path) warnings.warn("Your TEMPLATE_LOADERS setting includes %r, but your Python installation doesn't support that type of template loading. Consider removing that line from TEMPLATE_LOADERS." % path)
else: else:
template_source_loaders.append(func) loaders.append(func)
template_source_loaders = tuple(loaders)
for loader in template_source_loaders: for loader in template_source_loaders:
try: try:
source, display_name = loader(name, dirs) source, display_name = loader(name, dirs)