diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2014-11-16 22:08:17 +0100 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2014-11-16 22:18:33 +0100 |
| commit | fab26cf5e0aaffa99dd6d1378391ffd99c5ce9bc (patch) | |
| tree | 9c5e498b71b1718a57bd3f2f4674d3af077808a5 /django | |
| parent | e87bee6f50d323a769d61e8f1ca685f45de24079 (diff) | |
Removed support for function-based template loaders.
They were deprecated in Django 1.2 but not all the supporting code was
removed in Django 1.4. Since the remaining code was unlikely to be
functional (pun intended) e.g. it would crash unless the loader
function had an is_usable attribute, this commit completes the removal
immediately instead of starting another deprecation path.
Diffstat (limited to 'django')
| -rw-r--r-- | django/template/loaders/utils.py | 27 |
1 files changed, 6 insertions, 21 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) |
