summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/template/loaders/utils.py27
-rw-r--r--docs/internals/deprecation.txt2
-rw-r--r--docs/releases/1.8.txt7
3 files changed, 6 insertions, 30 deletions
diff --git a/django/template/loaders/utils.py b/django/template/loaders/utils.py
index fe7234ea1c..a49b3ecfde 100644
--- a/django/template/loaders/utils.py
+++ b/django/template/loaders/utils.py
@@ -4,7 +4,6 @@ from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.utils import lru_cache
from django.utils import six
-from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.module_loading import import_string
@@ -28,34 +27,20 @@ def find_template_loader(loader):
loader, args = loader[0], loader[1:]
else:
args = []
- if isinstance(loader, six.string_types):
- TemplateLoader = import_string(loader)
-
- if hasattr(TemplateLoader, 'load_template_source'):
- func = TemplateLoader(*args)
- else:
- warnings.warn(
- "Function-based template loaders are deprecated. "
- "Please use class-based template loaders instead. "
- "Inherit django.template.loaders.base.Loader "
- "and provide a load_template_source() method.",
- RemovedInDjango20Warning, stacklevel=2)
- # Try loading module the old way - string is full path to callable
- if args:
- raise ImproperlyConfigured(
- "Error importing template source loader %s - can't pass "
- "arguments to function-based loader." % loader)
- func = TemplateLoader
+ if isinstance(loader, six.string_types):
+ loader_class = import_string(loader)
+ loader_instance = loader_class(*args)
- if not func.is_usable:
+ if not loader_instance.is_usable:
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." % loader)
return None
else:
- return func
+ return loader_instance
+
else:
raise ImproperlyConfigured(
"Invalid value in TEMPLATE_LOADERS: %r" % loader)
diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt
index 7247e4a2aa..666ff1f492 100644
--- a/docs/internals/deprecation.txt
+++ b/docs/internals/deprecation.txt
@@ -85,8 +85,6 @@ details on these changes.
* The backwards compatibility alias ``django.template.loader.BaseLoader`` will
be removed.
-* Support for function-based template loaders will be removed.
-
.. _deprecation-removed-in-1.9:
1.9
diff --git a/docs/releases/1.8.txt b/docs/releases/1.8.txt
index d55ed1820d..73c0e7a040 100644
--- a/docs/releases/1.8.txt
+++ b/docs/releases/1.8.txt
@@ -1040,13 +1040,6 @@ class decorators. As a consequence, when overriding ``setUpClass()`` or
``django.template.loaders.base.Loader``. If you've written a custom template
loader that inherits ``BaseLoader``, you must inherit ``Loader`` instead.
-Function-based template loaders
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In addition to the documented class-based API for custom template loaders,
-Django still supported to some extent an earlier function-based API. This
-private API wasn't maintained or tested. Now it's formally deprecated.
-
``django.test.utils.TestTemplateLoader``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~