我在 Django 项目中的 404.html 中单独放置了一个登录框和一个关键字搜索框,以便在出现 404 错误的情况下,访问者可以获得更多选项来跳转到其他部分。
但是 CSRF 中间件在没有呈现 csrf 令牌的 404 错误页面中不起作用。我尝试将 'django.middleware.csrf.CsrfViewMiddleware' 移动到 settings.py 中 MIDDLEWARE_CLASSES 的第一个,但也没有工作。
有人知道解决方案吗?
我在 Django 项目中的 404.html 中单独放置了一个登录框和一个关键字搜索框,以便在出现 404 错误的情况下,访问者可以获得更多选项来跳转到其他部分。
但是 CSRF 中间件在没有呈现 csrf 令牌的 404 错误页面中不起作用。我尝试将 'django.middleware.csrf.CsrfViewMiddleware' 移动到 settings.py 中 MIDDLEWARE_CLASSES 的第一个,但也没有工作。
有人知道解决方案吗?
看起来他们已经在 Django http://code.djangoproject.com/ticket/14565中修复了这个问题
也就是说,它似乎不在最新版本中,所以我创建了一个与 相同内容的自定义错误视图,'django.views.defaults.page_not_found'
在票证差异文件中进行更改。
我的想法是您应该制作自己的错误处理程序并使用 django.middleware.csrf.get_token() 手动生成令牌