Django: общий вид класса + POST = HTTP 405 (метод не разрешен)
Недавно я начал преобразовывать некоторые функции просмотра в Generic Views.
Преобразование функции, которая должна была обрабатывать запрос POST (через форму AJAX), приводит к исключению HTTP "405 Method not allowed".
Я уверен, что не о CSRF: Ajax отправляет действительный токен, меняя общий вид назад на функцию просмотра (в тестовом случае они по сути одинаковы) устраняет проблему и, наконец, для тестирования я отключил промежуточное ПО CSRF.
Кто-нибудь испытывал подобные проблемы?
Ответы
Ответ 1
Я предполагаю, что вы используете представления на основе классов. Если это так, вам нужно определить метод post
в вашем представлении или использовать mixin, который делает это (django.views.generic.edit.ProcessFormView
например). Если вы хотите полностью понять, почему это необходимо, посмотрите dispatch
метод django.views.generic.base.View
.