Refs #26601 -- Added a warning if both MIDDLEWARE AND MIDDLEWARE_CLASSES are set.
This commit is contained in:
parent
ece4d24f8e
commit
354acd04af
|
@ -10,6 +10,7 @@ from .registry import Tags, register, run_checks, tag_exists
|
||||||
# Import these to force registration of checks
|
# Import these to force registration of checks
|
||||||
import django.core.checks.caches # NOQA isort:skip
|
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_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.database # NOQA isort:skip
|
||||||
import django.core.checks.model_checks # NOQA isort:skip
|
import django.core.checks.model_checks # NOQA isort:skip
|
||||||
import django.core.checks.security.base # NOQA isort:skip
|
import django.core.checks.security.base # NOQA isort:skip
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
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 []
|
|
@ -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``
|
put the values of the following settings into your defaults ``TEMPLATES``
|
||||||
dict: ``TEMPLATE_DIRS``, ``TEMPLATE_CONTEXT_PROCESSORS``, ``TEMPLATE_DEBUG``,
|
dict: ``TEMPLATE_DIRS``, ``TEMPLATE_CONTEXT_PROCESSORS``, ``TEMPLATE_DEBUG``,
|
||||||
``TEMPLATE_LOADERS``, ``TEMPLATE_STRING_IF_INVALID``.
|
``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
|
Admin
|
||||||
-----
|
-----
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
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…
Reference in New Issue