尽管已将CORS标头添加到响应中,但仍未显示

时间:2020-03-02 11:14:49

标签: python django cors

我有一个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.sessionsINSTALLED_APPS以及{{中的corsheaders.middleware.CorsMiddlewaredjango.contrib.sessions.middleware.SessionMiddleware 1}}:

请求如下:

MIDDLEWARE

我错过了什么吗?我使用的是django 2.1,很遗憾,目前无法升级。

1 个答案:

答案 0 :(得分:0)

重新阅读Django's CORS软件包的文档后,我意识到问题是我的settings.py上缺少此配置:

CORS_ALLOW_CREDENTIALS = True

一个非常愚蠢的错误。如果有人遇到同样的问题,我将保留这个问题。