26👍
MIDDLEWARE
is a new setting in 1.10 that will replace the old MIDDLEWARE_CLASSES
.
Since you’re currently on 1.9, Django doesn’t recognize the MIDDLEWARE
setting. You should use the MIDDLEWARE_CLASSES
setting instead:
MIDDLEWARE_CLASSES = [
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
18👍
Django 2.0
You can try this in your settings.py, MIDDLEWARE_CLASSES = [….]:
-
Change MIDDLEWARE_CLASSES=[…] to MIDDLEWARE=[…]
-
Remove SessionAuthenticationMiddleware from the MIDDLEWARE=[…] list.
The MIDDLEWARE_CLASSES setting is deprecated in Django 1.10, and
removed in Django 2.0.The SessionAuthenticationMiddleware class is removed. It provided no
functionality since session authentication is unconditionally enabled
in Django 1.10.
6👍
This error can also be thrown when you have a typo. i.e.
request.sesion ...
instead of
request.session ...
- Django how to override clean() method in a subclass of custom form?
- Django database delete specific number of entries
3👍
Check the order of the middleware, if you are trying to access it on some middlewares which are listed above the session middleware, you will get this error.
- UnicodeEncodeError:'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)
- Django CSRF cookie not set correctly
- Installing django 1.5(development version) in virtualenv
- The default "delete selected" admin action in Django