Python CSRF失败:从1.8升级到django 1.10后,CSRF令牌丢失或不正确

Python CSRF失败:从1.8升级到django 1.10后,CSRF令牌丢失或不正确,python,django,csrf,django-csrf,Python,Django,Csrf,Django Csrf,我正在通过AJAX向api发送post请求(当前页面和api都在同一主机下)。我正在获取csrf失败:csrf令牌丢失或错误。这是在我从1.8升级到django 1.10时发生的。我也使用Django1.9进行了检查,错误仍然存在于1.9。以下是详细信息: curl'https://tru-staging.com/pagemaker/api/v1/carousel/slide/“-H”Pragma:无缓存“-H”原点:https://tru-staging.com'-H'接受编码:gzip,de

我正在通过AJAX向api发送post请求(当前页面和api都在同一主机下)。我正在获取
csrf失败:csrf令牌丢失或错误
。这是在我从1.8升级到django 1.10时发生的。我也使用Django1.9进行了检查,错误仍然存在于1.9。以下是详细信息:


curl'https://tru-staging.com/pagemaker/api/v1/carousel/slide/“-H”Pragma:无缓存“-H”原点:https://tru-staging.com'-H'接受编码:gzip,deflate,br'-H'接受语言:en-US,en;q=0.8,ar;q=0.6'-H'授权:令牌未定义'-H'内容类型:应用程序/json;charset=UTF-8'-H'Accept:application/json,text/plain,*/*'-H'缓存控制:无缓存'-H'X-CSRFToken:UMQPAIb1OTl7MyiQLJttdKE8xOLz35pMaHeNGMMDqy0Jn3x8SpbaEUmzOQk7Fppr'-H'用户代理:Mozilla/5.0(麦金塔;英特尔Mac OS X 1012_1)AppleWebKit/537.36(KHTML,像Gecko)Chrome/55.0.2883.95 Safari/537.36'-H'Cookie:_ga=GA1.2.2131330908.1484113382;会话ID=nnxqi67j18tblt985vayyz4ssyhdnfjm;csrftoken=o6gjW1Sxb1X23hI9RurDIAXjSuEbbgbMQJtMQyS2gT1yTnCGF80rmmB8pwSOSKKj'-H'连接:保持活动'-H'引用:https://tru-staging.com/68/school_landing/'--数据二进制'{“顺序”:4,“旋转木马”:736}“-compressed

X-CSRFToken头与上面命令行中的
CSRFToken
cookie值不匹配。特定错误消息来自:


这表明CSRF令牌确实不匹配。

是什么原因造成的?在进行AJAX调用之前,您如何设置X-CSRFToken?我假设你有一个getCookie()函数来获取它?我有。我的设置标题如下:是否可以缓存某些内容?Django 1.8下的令牌匹配吗?已清除缓存。还是一样的错误。是的,它在django 1.8及以下版本上确实匹配。