diff --git a/configurations/importer.py b/configurations/importer.py index ee75d44..6933eca 100644 --- a/configurations/importer.py +++ b/configurations/importer.py @@ -139,11 +139,15 @@ class SettingsLoader(object): mod = imp.load_module(fullname, *self.location) try: cls = getattr(mod, self.name) - obj = cls() except AttributeError: # pragma: no cover raise ImproperlyConfigured("Couldn't find settings '%s' in " "module '%s'" % (self.name, mod.__package__)) + try: + obj = cls() + except Exception, err: + raise ImproperlyConfigured("Couldn't load settings '%s.%s': %s" % + (mod.__name__, self.name, err)) for name, value in uppercase_attributes(obj).items(): if callable(value): value = value() diff --git a/configurations/tests/test_main.py b/configurations/tests/test_main.py index acbb13e..20cf1b4 100644 --- a/configurations/tests/test_main.py +++ b/configurations/tests/test_main.py @@ -6,7 +6,7 @@ from django.core.exceptions import ImproperlyConfigured from mock import patch -from ..importer import SettingsImporter +from configurations.importer import SettingsImporter class MainTests(TestCase):