我在Django项目的404.html中单独设置了一个带有关键字搜索框的登录框,因此如果出现404错误,访问者可以获得更多跳转到其他部分的选项。
但是CSRF中间件在404错误页面中不起作用而没有呈现csrf标记。我尝试将'django.middleware.csrf.CsrfViewMiddleware'移到settings.py中的第一个MIDDLEWARE_CLASSES但是也没有用。
任何人都知道解决方案吗?
答案 0 :(得分:1)
看起来他们已经在Django http://code.djangoproject.com/ticket/14565
中解决了这个问题也就是说,它似乎不在最新版本中,所以我创建了一个自定义错误视图,其内容与'django.views.defaults.page_not_found'
相同,从而在票证差异文件中找到了更改。
答案 1 :(得分:0)
我的想法是你应该使用your own error handler并使用django.middleware.csrf.get_token()手动生成令牌