大多数SO答案要求清除cookie并确认中间件类。我已经尝试过了。
Python - 3.4
Django - 1.10
使用VirtualEnv。
我在Django管理员登录界面上收到Forbidden (403) CSRF verification failed. Request aborted.
错误。我使用django 1.9版在pythonanywhere.com上托管了我的网站。
XPp5hAhylAkt27U4SzGPNU7w8SFBJ3RP
UT24544MghHLZi0IrGHQlCcpk1v0SbCy
。表单的源代码中提供了相同的值。
XPp5hAhylAkt27U4SzGPNU7w8SFBJ3RP
我已经在中间件类中使用了django.middleware.csrf.CsrfViewMiddleware'我清除了浏览器缓存和cookie。甚至重新启动了系统。
我在不同的网站上使用了完全相同的代码。
为什么有不同的csrf-token值?这个问题的解决方案是什么?
更新1:如果我在设置中设置debug = False,它可以正常工作。但是我不能保持代码生效。
更新2 :经过进一步调查后,我发现某些浏览器cookie csrftoken的值未被设置为正确的值,而该值正在响应头中传递。如果我从浏览器中删除cookie并将其从控制台设置为正确值,则发布请求可以正常工作。
更新3 :现在,我在网络应用上发布的每个帖子请求或表单提交都会出现同样的问题。响应头和源代码中发送的CSRF令牌值与浏览器cookie中设置的值不同。
更新4:设置CSRF_COOKIE_NAME =" csrf_token"也没有帮助。