我有一个Django服务器,我正在尝试为其实现会话。上周突然由于以下原因开始拒绝获取请求,一切工作正常:
Access to fetch at 'http://localhost:8000/<URL> from origin 'http://localhost:3000' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'.
但是,在发送响应之前,我明确添加了标题:
response = JsonResponse({"success": True}, status=200)
response['Access-Control-Allow-Credentials'] = True
return response
我的settings.py
似乎配置正确,corsheaders
中的django.contrib.sessions
和INSTALLED_APPS
以及{{中的corsheaders.middleware.CorsMiddleware
和django.contrib.sessions.middleware.SessionMiddleware
1}}:
请求如下:
MIDDLEWARE
我错过了什么吗?我使用的是django 2.1,很遗憾,目前无法升级。
答案 0 :(得分:0)
重新阅读Django's CORS软件包的文档后,我意识到问题是我的settings.py
上缺少此配置:
CORS_ALLOW_CREDENTIALS = True
一个非常愚蠢的错误。如果有人遇到同样的问题,我将保留这个问题。