mirror of
https://github.com/django/django.git
synced 2025-06-07 12:39:12 +00:00
magic-removal: Merged to [2226]
git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2227 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
35a3103283
commit
fd7c0a1a7c
@ -25,6 +25,28 @@ from django.template import Origin, StringOrigin, Template, Context, TemplateDoe
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
template_source_loaders = None
|
||||||
|
|
||||||
|
class LoaderOrigin(Origin):
|
||||||
|
def __init__(self, display_name, loader, name, dirs):
|
||||||
|
super(LoaderOrigin, self).__init__(display_name)
|
||||||
|
self.loader, self.loadname, self.dirs = loader, name, dirs
|
||||||
|
|
||||||
|
def reload(self):
|
||||||
|
return self.loader(self.loadname, self.dirs)[0]
|
||||||
|
|
||||||
|
def make_origin(display_name, loader, name, dirs):
|
||||||
|
if settings.TEMPLATE_DEBUG:
|
||||||
|
return LoaderOrigin(display_name, loader, name, dirs)
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def find_template_source(name, dirs=None):
|
||||||
|
# Calculate template_source_loaders the first time the function is executed
|
||||||
|
# because putting this logic in the module-level namespace may cause
|
||||||
|
# circular import errors. See Django ticket #1292.
|
||||||
|
global template_source_loaders
|
||||||
|
if template_source_loaders is None:
|
||||||
template_source_loaders = []
|
template_source_loaders = []
|
||||||
for path in settings.TEMPLATE_LOADERS:
|
for path in settings.TEMPLATE_LOADERS:
|
||||||
i = path.rfind('.')
|
i = path.rfind('.')
|
||||||
@ -42,22 +64,6 @@ for path in settings.TEMPLATE_LOADERS:
|
|||||||
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)
|
template_source_loaders.append(func)
|
||||||
|
|
||||||
class LoaderOrigin(Origin):
|
|
||||||
def __init__(self, display_name, loader, name, dirs):
|
|
||||||
super(LoaderOrigin, self).__init__(display_name)
|
|
||||||
self.loader, self.loadname, self.dirs = loader, name, dirs
|
|
||||||
|
|
||||||
def reload(self):
|
|
||||||
return self.loader(self.loadname, self.dirs)[0]
|
|
||||||
|
|
||||||
def make_origin(display_name, loader, name, dirs):
|
|
||||||
if settings.TEMPLATE_DEBUG:
|
|
||||||
return LoaderOrigin(display_name, loader, name, dirs)
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def find_template_source(name, dirs=None):
|
|
||||||
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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user