mirror of
https://github.com/django/django.git
synced 2024-11-29 14:46:18 +01:00
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 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
|
||||
|
17
django/core/checks/compatibility/django_1_10.py
Normal file
17
django/core/checks/compatibility/django_1_10.py
Normal file
@ -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``
|
||||
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
|
||||
-----
|
||||
|
17
tests/check_framework/tests_1_10_compatibility.py
Normal file
17
tests/check_framework/tests_1_10_compatibility.py
Normal file
@ -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
Block a user