当Django表单出现CSRF错误时,会重定向到403页面。有没有办法将其作为表单错误处理(即在表单页面中显示错误消息)而不是重定向?
更新:我知道我可以自定义403页面。那不是我需要的。
答案 0 :(得分:0)
在我看来,只有在发生CSRF攻击时才显示错误消息并不是您想要做的。重定向似乎更合适。现在有Django文档说,
默认情况下,如果是,则向用户发送“403 Forbidden”响应 传入请求未通过CsrfViewMiddleware执行的检查。 通常只有在有真正的跨站点时才能看到这一点 请求伪造,或者由于编程错误而导致CSRF令牌 没有包含在POST表格中。
然而,错误页面不是很友好,所以你可能想要 为处理这种情况提供自己的观点。要做到这一点,简单地说 设置CSRF_FAILURE_VIEW设置。
因此,您应该查看CSRF_FAILURE_VIEW
设置。