【问题标题】:django: generic class view + POST = HTTP 405 (Method not allowed)django:通用类视图 + POST = HTTP 405(不允许的方法)
【发布时间】:2012-01-23 17:02:46
【问题描述】:

最近我开始将一些视图函数转换为通用视图。 转换预期处理 POST 请求的函数(通过 AJAX 表单)会导致“405 Method not allowed”HTTP 异常。 我确定不是关于 CSRF:Ajax 发送有效令牌,将通用视图更改回视图功能(在测试用例中,它们本质上是相同的)解决了问题,并且 - 最后 -出于测试目的,我禁用了 CSRF 中间件。 有没有人遇到过类似的问题?

【问题讨论】:

    标签: python django http http-status-code-405


    【解决方案1】:

    我想您正在使用基于类的视图。如果是这样,那么您需要在您的视图中定义 post 方法或使用 mixin 来实现它(例如django.views.generic.edit.ProcessFormView)。如果您想完全理解为什么这是必要的,请查看django.views.generic.base.Viewdispatch 方法。

    【讨论】:

    • 我的网址最后没有用斜线结尾。那是我的问题。
    猜你喜欢
    • 2018-12-20
    • 2017-10-16
    • 2019-07-05
    • 1970-01-01
    • 2014-05-23
    • 2023-03-05
    • 2014-06-22
    • 2014-06-27
    • 1970-01-01
    相关资源
    最近更新 更多