diff --git a/django/conf/__init__.py b/django/conf/__init__.py index a3e2f03234..8964b1bfb3 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -12,7 +12,7 @@ import time # Needed for Windows import warnings from django.conf import global_settings -from django.utils.functional import LazyObject +from django.utils.functional import LazyObject, empty from django.utils import importlib ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE" @@ -47,19 +47,19 @@ class LazySettings(LazyObject): parameter sets where to retrieve any unspecified values from (its argument must support attribute access (__getattr__)). """ - if self._wrapped != None: + if self._wrapped is not empty: raise RuntimeError('Settings already configured.') holder = UserSettingsHolder(default_settings) for name, value in options.items(): setattr(holder, name, value) self._wrapped = holder + @property def configured(self): """ Returns True if the settings have already been configured. """ - return bool(self._wrapped) - configured = property(configured) + return self._wrapped is not empty class BaseSettings(object): diff --git a/tests/regressiontests/staticfiles_tests/tests.py b/tests/regressiontests/staticfiles_tests/tests.py index 8ecae8b92c..91074eb2fd 100644 --- a/tests/regressiontests/staticfiles_tests/tests.py +++ b/tests/regressiontests/staticfiles_tests/tests.py @@ -14,6 +14,7 @@ from django.core.files.storage import default_storage from django.core.management import call_command from django.test import TestCase from django.utils.encoding import smart_unicode +from django.utils.functional import empty from django.utils._os import rmtree_errorhandler @@ -61,7 +62,7 @@ class StaticFilesTestCase(TestCase): # Clear the cached default_storage out, this is because when it first # gets accessed (by some other test), it evaluates settings.MEDIA_ROOT, # since we're planning on changing that we need to clear out the cache. - default_storage._wrapped = None + default_storage._wrapped = empty # To make sure SVN doesn't hangs itself with the non-ASCII characters # during checkout, we actually create one file dynamically.