Cada vez que ejecuto mi servidor local con mi proyecto django, recibo una advertencia y un mensaje de error que dice que en Django 1.7 se cambiaron las clases de middleware global, aunque estoy usando 1.8. Mi blog, en http://127.0.0.1:8000/ , se carga bien, pero cuando intento cargar el sitio de administración obtengo AttributeError at /admin/ 'WSGIRequest' object has no attribute 'user'
, que por lo que yo puedo decir tiene que ver con el Middleware. gracias por tu ayuda de antemano
EDITAR: Mi middleware:
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
Mensaje de error:
Warnings ?: (1_7.W001) Middleware_Classes is not set. Hint: Django 1.7 changed the global defaults for the middleware_classes. django.contrib.auth.middleware.AuthenticationMiddleware, django.contrib.sessions.middleware.SessionMiddleware, and django.contrib.messages.middleware.MessageMiddleware, were removed from the defaults. If your project needs this middleware then you should configure this middleware.
La configuración MIDDLEWARE
se introdujo en Django 1.10. Si está usando Django 1.9 o anterior, no tendrá ningún efecto y debería usar la configuración MIDDLEWARE_CLASSES
en su lugar.
Asegúrese de estar utilizando la versión correcta de los documentos (por ejemplo, Django 1.8 , Django 1.11 ), para seguir las instrucciones correctas.
Creé mi proyecto usando django 1.11
pero cuando transfirí los archivos al servidor web, encontré errores con fcgi
que me obligaron a bajar a 1.8
. Por lo tanto, apareció el error porque el administrador ahora esperaba MIDDLEWARE_CLASSES
en lugar de MIDDLEWARE
. Cambiar eso resolvió el error.