¿Por qué el inicio de sesión de administrador de Django me da un error 403 CSRF?

Estoy ejecutando Django 1.2.2 y recibo el siguiente error cuando bash iniciar sesión en el administrador de Django:

Prohibida la verificación de CSRF (403). Solicitud abortada.

Razón dada para el fracaso:

Sin CSRF o cookie de sesión.

** NO he hecho ninguna personalización para el administrador barebones y cuando inspecciono la fuente hay un token CSRF en el formulario en el que creo que es el lugar correcto.

    Cuando miro la solicitud real que se está enviando, se está enviando un token csrf pero Django todavía dice que la verificación de CSRF falló.

    ¿Alguien puede señalarme en la dirección correcta? ¿Por qué está pasando esto?

    1) ¿Tiene 'django.middleware.csrf.CsrfViewMiddleware' en su settings.MIDDLEWARE_CLASSES ?

    2) ¿Estás seguro de que siempre has estado en 1.2.2? Eso solo salió anoche …

    He tenido el mismo problema en Django 1.2.1 FINAL. Como sabía que Django en nuestro sitio de producción nunca se actualizaría desde 1.0 (por varias razones), encontré una solución que implementé en mi versión de desarrollo de settings.py, dejando la configuración de producción.py intacta.

    Cree un archivo middleware.py en el directorio de su aplicación con el siguiente código:

     class disableCSRF: def process_request(self, request): setattr(request, '_dont_enforce_csrf_checks', True) return None 

    Luego, en su versión de desarrollo de settings.py, inserte esto en MIDDLEWARE_CLASSES:

     'your_app_name.middleware.disableCSRF', 

    Quizás no sea la solución más segura, pero nuestro sitio de Django es estrictamente interno, por lo que existe un riesgo mínimo para cualquier tipo de acción maliciosa. Esta solución es simple y no implica cambios en las plantillas / vistas, y funcionó de manera instantánea (a diferencia de otras que he probado).

    Esperemos que alguien en una situación similar a la mía pueda encontrar esto útil.

    El crédito es para John McCollum, en cuyo sitio he encontrado esto.

    De acuerdo con la documentación , no solo necesita el campo de formulario oculto csrf, sino también la cookie csrftoken . El mensaje de error que proporcionó también sugiere una cookie que falta.

    csrftoken cookies de su navegador para asegurar que la cookie csrftoken esté presente.