Django的403页

时间:2012-12-03 12:36:19

标签: django

我使用Django 1.4。我在与404.html相同的目录中创建了403.html文件(404错误页面工作正常)。是的,我看过this。然后我在我的浏览器中关闭cookie,尝试登录并查看默认的403错误页面,而不是我的403.html页面:

Forbidden (403)
CSRF verification failed. Request aborted.
More information is available with DEBUG=True.

我重新启动了Apache,但它没有帮助。

如何解决?感谢

1 个答案:

答案 0 :(得分:8)

这不是默认的403错误页面。您看到此消息是因为禁用cookie时CSRF middleware不起作用。

您的自定义403模板无效,因为CSRF中间件不使用常规403视图,而是使用CSRF_FAILURE_VIEW设置定义的视图,is defined in django.conf.global_settingsdjango.views.csrf.csrf_failure。正如您所看到的in the source,您看到的消息在视图中是硬编码的。

您可以创建自己的CSRF_FAILURE_VIEW,但这可能不是您想要的。我建议您保留所有内容,只删除cookie或使用其他浏览器作为未经身份验证的用户进行测试。