最近我开始将一些视图功能转换为通用视图。 转换预期处理POST请求的函数(通过AJAX形式)导致“405 Method not allowed”HTTP异常。 我确定不关于CSRF:Ajax发送有效令牌,将通用视图更改回查看功能(在测试用例中,它们基本相同)修复了问题,并且 - 最后 - 出于测试目的,我已禁用CSRF中间件。 有没有人遇到类似的问题?
答案 0 :(得分:17)
我想你正在使用基于类的视图。如果是这样,那么您需要在视图中定义post
方法或使用mixin来执行此操作(例如django.views.generic.edit.ProcessFormView
)。如果您想完全理解为什么有必要,请查看django.views.generic.base.View
的{{3}}方法。