django:通用类视图 + POST = HTTP 405(不允许的方法)
Posted
技术标签:
【中文标题】django:通用类视图 + POST = HTTP 405(不允许的方法)【英文标题】:django: generic class view + POST = HTTP 405 (Method not allowed) 【发布时间】:2012-01-23 17:02:46 【问题描述】:最近我开始将一些视图函数转换为通用视图。 转换预期处理 POST 请求的函数(通过 AJAX 表单)会导致“405 Method not allowed”HTTP 异常。 我确定不是关于 CSRF:Ajax 发送有效令牌,将通用视图更改回视图功能(在测试用例中,它们本质上是相同的)解决了问题,并且 - 最后 -出于测试目的,我禁用了 CSRF 中间件。 有没有人遇到过类似的问题?
【问题讨论】:
【参考方案1】:我想您正在使用基于类的视图。如果是这样,那么您需要在您的视图中定义 post
方法或使用 mixin 来实现它(例如django.views.generic.edit.ProcessFormView
)。如果您想完全理解为什么这是必要的,请查看django.views.generic.base.View
的dispatch
方法。
【讨论】:
我的网址最后没有用斜线结尾。那是我的问题。以上是关于django:通用类视图 + POST = HTTP 405(不允许的方法)的主要内容,如果未能解决你的问题,请参考以下文章