Loading django/core/checks/__init__.py +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ from .registry import Tags, register, run_checks, tag_exists # Import these to force registration of checks import django.core.checks.caches # NOQA isort:skip import django.core.checks.compatibility.django_1_8_0 # NOQA isort:skip import django.core.checks.compatibility.django_1_10 # NOQA isort:skip import django.core.checks.database # NOQA isort:skip import django.core.checks.model_checks # NOQA isort:skip import django.core.checks.security.base # NOQA isort:skip Loading django/core/checks/compatibility/django_1_10.py 0 → 100644 +17 −0 Original line number Diff line number Diff line from __future__ import unicode_literals from django.conf import global_settings, settings from .. import Tags, Warning, register @register(Tags.compatibility) def check_duplicate_middleware_settings(app_configs, **kwargs): if settings.MIDDLEWARE is not None and settings.MIDDLEWARE_CLASSES != global_settings.MIDDLEWARE_CLASSES: return [Warning( "The MIDDLEWARE_CLASSES setting is deprecated in Django 1.10 " "and the MIDDLEWARE setting takes precedence. Since you've set " "MIDDLEWARE, the value of MIDDLEWARE_CLASSES is ignored.", id='1_10.W001', )] return [] docs/ref/checks.txt +3 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,9 @@ that might occur as a result of a version upgrade. put the values of the following settings into your defaults ``TEMPLATES`` dict: ``TEMPLATE_DIRS``, ``TEMPLATE_CONTEXT_PROCESSORS``, ``TEMPLATE_DEBUG``, ``TEMPLATE_LOADERS``, ``TEMPLATE_STRING_IF_INVALID``. * **1_10.W001**: The ``MIDDLEWARE_CLASSES`` setting is deprecated in Django 1.10 and the :setting:`MIDDLEWARE` setting takes precedence. Since you've set ``MIDDLEWARE``, the value of ``MIDDLEWARE_CLASSES`` is ignored. Admin ----- Loading tests/check_framework/tests_1_10_compatibility.py 0 → 100644 +17 −0 Original line number Diff line number Diff line from django.core.checks.compatibility.django_1_10 import \ check_duplicate_middleware_settings from django.test import SimpleTestCase from django.test.utils import override_settings class CheckDuplicateMiddlwareSettingsTest(SimpleTestCase): @override_settings(MIDDLEWARE=[], MIDDLEWARE_CLASSES=['django.middleware.common.CommonMiddleware']) def test_duplicate_setting(self): result = check_duplicate_middleware_settings(None) self.assertEqual(result[0].id, '1_10.W001') @override_settings(MIDDLEWARE=None) def test_middleware_not_defined(self): result = check_duplicate_middleware_settings(None) self.assertEqual(len(result), 0) Loading
django/core/checks/__init__.py +1 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ from .registry import Tags, register, run_checks, tag_exists # Import these to force registration of checks import django.core.checks.caches # NOQA isort:skip import django.core.checks.compatibility.django_1_8_0 # NOQA isort:skip import django.core.checks.compatibility.django_1_10 # NOQA isort:skip import django.core.checks.database # NOQA isort:skip import django.core.checks.model_checks # NOQA isort:skip import django.core.checks.security.base # NOQA isort:skip Loading
django/core/checks/compatibility/django_1_10.py 0 → 100644 +17 −0 Original line number Diff line number Diff line from __future__ import unicode_literals from django.conf import global_settings, settings from .. import Tags, Warning, register @register(Tags.compatibility) def check_duplicate_middleware_settings(app_configs, **kwargs): if settings.MIDDLEWARE is not None and settings.MIDDLEWARE_CLASSES != global_settings.MIDDLEWARE_CLASSES: return [Warning( "The MIDDLEWARE_CLASSES setting is deprecated in Django 1.10 " "and the MIDDLEWARE setting takes precedence. Since you've set " "MIDDLEWARE, the value of MIDDLEWARE_CLASSES is ignored.", id='1_10.W001', )] return []
docs/ref/checks.txt +3 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,9 @@ that might occur as a result of a version upgrade. put the values of the following settings into your defaults ``TEMPLATES`` dict: ``TEMPLATE_DIRS``, ``TEMPLATE_CONTEXT_PROCESSORS``, ``TEMPLATE_DEBUG``, ``TEMPLATE_LOADERS``, ``TEMPLATE_STRING_IF_INVALID``. * **1_10.W001**: The ``MIDDLEWARE_CLASSES`` setting is deprecated in Django 1.10 and the :setting:`MIDDLEWARE` setting takes precedence. Since you've set ``MIDDLEWARE``, the value of ``MIDDLEWARE_CLASSES`` is ignored. Admin ----- Loading
tests/check_framework/tests_1_10_compatibility.py 0 → 100644 +17 −0 Original line number Diff line number Diff line from django.core.checks.compatibility.django_1_10 import \ check_duplicate_middleware_settings from django.test import SimpleTestCase from django.test.utils import override_settings class CheckDuplicateMiddlwareSettingsTest(SimpleTestCase): @override_settings(MIDDLEWARE=[], MIDDLEWARE_CLASSES=['django.middleware.common.CommonMiddleware']) def test_duplicate_setting(self): result = check_duplicate_middleware_settings(None) self.assertEqual(result[0].id, '1_10.W001') @override_settings(MIDDLEWARE=None) def test_middleware_not_defined(self): result = check_duplicate_middleware_settings(None) self.assertEqual(len(result), 0)