13

最近、いくつかのビュー関数を汎用ビューに変換し始めました。(AJAXフォームを介して)POSTリクエストを処理することが期待されていた関数を変換すると、「405メソッドは許可されていません」というHTTP例外が発生します。CSRFについてではないと確信しています:Ajaxは有効なトークンを送信し、汎用ビューをビュー関数に戻します(テストケースでは、基本的に同じです)。最後に、テスト目的で、 CSRFミドルウェアを無効にしました。誰かが同様の問題を経験しましたか?

4

1 に答える 1

17

クラスベースのビューを使用していると思います。postその場合は、ビューでメソッドを定義するか、それを実行するミックスインを使用する必要があります(django.views.generic.edit.ProcessFormViewたとえば)。これが必要な理由を完全に理解したい場合は、dispatchの方法を見てくださいdjango.views.generic.base.View

于 2011-12-19T17:43:42.387 に答える