From 64cdea68e71829905da6374a066d1700375255ec Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Sat, 29 Jun 2013 18:19:20 -0300 Subject: [PATCH] Report wrongly-typed settings and abort, as originally planned. Thanks Claude for the heads up. Refs #12493 and commit 5e08b792. --- django/conf/__init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/django/conf/__init__.py b/django/conf/__init__.py index b1f40af80a..c98443be1a 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -132,9 +132,17 @@ class Settings(BaseSettings): % (self.SETTINGS_MODULE, e) ) + tuple_settings = ("INSTALLED_APPS", "TEMPLATE_DIRS") + for setting in dir(mod): if setting == setting.upper(): setting_value = getattr(mod, setting) + + if setting in tuple_settings and \ + isinstance(setting_value, six.string_types): + raise ImproperlyConfigured("The %s setting must be a tuple. " + "Please fix your settings." % setting) + setattr(self, setting, setting_value) if not self.SECRET_KEY: