Django:处理CSRF错误作为表单错误

时间:2017-11-10 14:51:52

标签: django

当Django表单出现CSRF错误时,会重定向到403页面。有没有办法将其作为表单错误处理(即在表单页面中显示错误消息)而不是重定向?

更新:我知道我可以自定义403页面。那不是我需要的。

1 个答案:

答案 0 :(得分:0)

在我看来,只有在发生CSRF攻击时才显示错误消息并不是您想要做的。重定向似乎更合适。现在有Django文档说,

  

默认情况下,如果是,则向用户发送“403 Forbidden”响应   传入请求未通过CsrfViewMiddleware执行的检查。   通常只有在有真正的跨站点时才能看到这一点   请求伪造,或者由于编程错误而导致CSRF令牌   没有包含在POST表格中。

     

然而,错误页面不是很友好,所以你可能想要   为处理这种情况提供自己的观点。要做到这一点,简单地说   设置CSRF_FAILURE_VIEW设置。

因此,您应该查看CSRF_FAILURE_VIEW设置。