mirror of
https://github.com/django/django.git
synced 2025-03-31 19:46:42 +00:00
Fixed #12288 -- Added unique validation for INSTALLED_APPS
This commit is contained in:
parent
4fa2738ff3
commit
2ac89012d8
@ -107,6 +107,9 @@ class BaseSettings(object):
|
|||||||
elif name == "ALLOWED_INCLUDE_ROOTS" and isinstance(value, six.string_types):
|
elif name == "ALLOWED_INCLUDE_ROOTS" and isinstance(value, six.string_types):
|
||||||
raise ValueError("The ALLOWED_INCLUDE_ROOTS setting must be set "
|
raise ValueError("The ALLOWED_INCLUDE_ROOTS setting must be set "
|
||||||
"to a tuple, not a string.")
|
"to a tuple, not a string.")
|
||||||
|
elif name == "INSTALLED_APPS" and len(value) != len(set(value)):
|
||||||
|
raise ImproperlyConfigured("The INSTALLED_APPS setting must contain unique values.")
|
||||||
|
|
||||||
object.__setattr__(self, name, value)
|
object.__setattr__(self, name, value)
|
||||||
|
|
||||||
|
|
||||||
|
@ -226,6 +226,27 @@ class TestComplexSettingOverride(TestCase):
|
|||||||
self.assertEqual('Overriding setting TEST_WARN can lead to unexpected behaviour.', str(w[-1].message))
|
self.assertEqual('Overriding setting TEST_WARN can lead to unexpected behaviour.', str(w[-1].message))
|
||||||
|
|
||||||
|
|
||||||
|
class UniqueSettngsTests(TestCase):
|
||||||
|
"""
|
||||||
|
Tests for the INSTALLED_APPS setting.
|
||||||
|
"""
|
||||||
|
settings_module = settings
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self._installed_apps = self.settings_module.INSTALLED_APPS
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.settings_module.INSTALLED_APPS = self._installed_apps
|
||||||
|
|
||||||
|
def test_unique(self):
|
||||||
|
"""
|
||||||
|
An ImproperlyConfigured exception is raised if the INSTALLED_APPS contains
|
||||||
|
any duplicate strings.
|
||||||
|
"""
|
||||||
|
with self.assertRaises(ImproperlyConfigured):
|
||||||
|
self.settings_module.INSTALLED_APPS = ("myApp1", "myApp1", "myApp2", "myApp3")
|
||||||
|
|
||||||
|
|
||||||
class TrailingSlashURLTests(TestCase):
|
class TrailingSlashURLTests(TestCase):
|
||||||
"""
|
"""
|
||||||
Tests for the MEDIA_URL and STATIC_URL settings.
|
Tests for the MEDIA_URL and STATIC_URL settings.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user