2011-12-19 22 views
13

Recientemente comencé a convertir algunas de las funciones de vista en Vistas genéricas. La conversión de la función que se esperaba para manejar la solicitud POST (a través del formulario AJAX) da como resultado la excepción HTTP "Método 405 no permitido". Estoy seguro es no sobre CSRF: Ajax envía un token válido, cambiando la vista genérica para ver la función (en el caso de prueba, son esencialmente lo mismo) soluciona el problema, y ​​- por último - para fines de prueba, He desactivado el middleware CSRF. ¿Alguien ha tenido problemas similares?django: vista de clase genérica + POST = HTTP 405 (Método no permitido)

Respuesta

17

Supongo que está utilizando vistas basadas en clases. Si es así, entonces necesita definir el método post en su vista o usar mixin que lo hace (django.views.generic.edit.ProcessFormView por ejemplo). Si quiere entender completamente por qué es necesario, mire el dispatch método de django.views.generic.base.View.

+0

gracias, el método de envío explica todo! – migajek

+1

No terminé mi url con barra al final. Ese fue mi problema. – Antony

Cuestiones relacionadas