From 48704b9aa51baf6499b986422f17ff18ae1a7381 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Tue, 6 Jan 2015 12:24:58 +0100 Subject: [PATCH] Try to fix #88 by being lazy a different way. --- constance/__init__.py | 17 +++++++++-------- constance/admin.py | 6 ++---- constance/apps.py | 8 -------- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/constance/__init__.py b/constance/__init__.py index 3c35abb..7180aa5 100644 --- a/constance/__init__.py +++ b/constance/__init__.py @@ -1,12 +1,13 @@ -from .base import Config -from django.utils.functional import SimpleLazyObject +from django.utils.functional import LazyObject __version__ = '1.0' +default_app_config = 'constance.apps.ConstanceConfig' -try: - from django.apps import AppConfig # noqa -except ImportError: - config = SimpleLazyObject(Config) -else: - default_app_config = 'constance.apps.ConstanceConfig' + +class LazyConfig(LazyObject): + def _setup(self): + from .base import Config + self._wrapped = Config() + +config = LazyConfig() diff --git a/constance/admin.py b/constance/admin.py index f830bf2..6e68ee4 100644 --- a/constance/admin.py +++ b/constance/admin.py @@ -14,7 +14,6 @@ from django.shortcuts import render_to_response from django.template.context import RequestContext from django.utils import six from django.utils.formats import localize -from django.utils.functional import SimpleLazyObject from django.utils.translation import ugettext_lazy as _ try: @@ -28,10 +27,9 @@ except ImportError: # Django < 1.4 from django.conf.urls.defaults import patterns, url -from . import settings -from .base import Config as ConfigClass +from . import LazyConfig, settings -config = SimpleLazyObject(ConfigClass) +config = LazyConfig() NUMERIC_WIDGET = forms.TextInput(attrs={'size': 10}) diff --git a/constance/apps.py b/constance/apps.py index 89fd6c6..77226f7 100644 --- a/constance/apps.py +++ b/constance/apps.py @@ -1,15 +1,7 @@ from django.apps import AppConfig from django.utils.translation import ugettext_lazy as _ -from django.utils.functional import SimpleLazyObject - - -from .base import Config class ConstanceConfig(AppConfig): name = 'constance' verbose_name = _('Constance') - - def ready(self): - super(ConstanceConfig, self).ready() - self.module.config = SimpleLazyObject(Config)