Подтвердить что ты не робот

Django: общий вид класса + POST = HTTP 405 (метод не разрешен)

Недавно я начал преобразовывать некоторые функции просмотра в Generic Views. Преобразование функции, которая должна была обрабатывать запрос POST (через форму AJAX), приводит к исключению HTTP "405 Method not allowed". Я уверен, что не о CSRF: Ajax отправляет действительный токен, меняя общий вид назад на функцию просмотра (в тестовом случае они по сути одинаковы) устраняет проблему и, наконец, для тестирования я отключил промежуточное ПО CSRF. Кто-нибудь испытывал подобные проблемы?

4b9b3361

Ответ 1

Я предполагаю, что вы используете представления на основе классов. Если это так, вам нужно определить метод post в вашем представлении или использовать mixin, который делает это (django.views.generic.edit.ProcessFormView например). Если вы хотите полностью понять, почему это необходимо, посмотрите dispatch метод django.views.generic.base.View.