diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-08-14 12:09:45 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-08-14 12:29:53 +0200 |
| commit | 2ae58b20ec72ce501c91dff8a8fcc8fe40cf5019 (patch) | |
| tree | 5fb7febdb172a79daffdb9dc6641b06de9c0b6aa /django/template | |
| parent | dcf72835e358529571dba53af1451fb39ce36c6b (diff) | |
[py3] Fixed egg template loader.
Diffstat (limited to 'django/template')
| -rw-r--r-- | django/template/loaders/eggs.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/django/template/loaders/eggs.py b/django/template/loaders/eggs.py index 42f87a459e..7e35b34ec4 100644 --- a/django/template/loaders/eggs.py +++ b/django/template/loaders/eggs.py @@ -1,13 +1,15 @@ # Wrapper for loading templates from eggs via pkg_resources.resource_string. +from __future__ import unicode_literals try: from pkg_resources import resource_string except ImportError: resource_string = None +from django.conf import settings from django.template.base import TemplateDoesNotExist from django.template.loader import BaseLoader -from django.conf import settings +from django.utils import six class Loader(BaseLoader): is_usable = resource_string is not None @@ -22,9 +24,12 @@ class Loader(BaseLoader): pkg_name = 'templates/' + template_name for app in settings.INSTALLED_APPS: try: - return (resource_string(app, pkg_name).decode(settings.FILE_CHARSET), 'egg:%s:%s' % (app, pkg_name)) - except: - pass + resource = resource_string(app, pkg_name) + except Exception: + continue + if not six.PY3: + resource = resource.decode(settings.FILE_CHARSET) + return (resource, 'egg:%s:%s' % (app, pkg_name)) raise TemplateDoesNotExist(template_name) _loader = Loader() |
