2011-12-19 173 views
13

最近我已经开始将一些视图函数转换为泛型视图。 转换期望处理POST请求的函数(通过AJAX形式)导致“405方法不允许”HTTP异常。 我确定是不是关于CSRF:Ajax发送有效的令牌,将通用视图改回查看功能(在测试用例中,它们本质上是相同的)可以修复问题,最后 - 用于测试目的,我禁用了CSRF中间件。 有没有人遇到过类似的问题?django:泛型类视图+ POST = HTTP 405(方法不允许)

回答

17

我想你使用的是基于类的视图。如果是这样,那么你需要在你的视图中定义post方法,或者使用混入它(例如django.views.generic.edit.ProcessFormView)。如果你想完全理解为什么这是必要的,那么看看dispatch方法django.views.generic.base.View

+0

谢谢,调度方法解释了一切! – migajek 2011-12-19 23:03:37

+1

我没有用斜线结束我的网址。这是我的问题。 – Antony 2015-02-25 11:40:46