django: общий вид класса + POST = HTTP 405 (метод не разрешен) - PullRequest
13 голосов
/ 19 декабря 2011

Недавно я начал преобразовывать некоторые функции представления в общие представления.Преобразование функции, которая должна была обрабатывать запрос POST (через форму AJAX), приводит к исключению HTTP «метод 405 не разрешен».Я уверен, что не о CSRF: Ajax отправляет действительный токен, изменяя общий вид обратно на функцию просмотра (в тестовом примере они по сути одинаковы), решает проблему и, наконец, - дляВ целях тестирования я отключил промежуточное программное обеспечение CSRF.Кто-нибудь сталкивался с подобными проблемами?

1 Ответ

17 голосов
/ 19 декабря 2011

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

...