即使在安装 cors-headers 之后,Django cors 也会出错
Posted
技术标签:
【中文标题】即使在安装 cors-headers 之后,Django cors 也会出错【英文标题】:Django cors error even after installing cors-headers 【发布时间】:2015-10-02 20:10:22 【问题描述】:我的 python 视图正在使用请求,如下所示:
r = requests.post(url, params=data, headers=header)
print r.url
return HttpResponse(r)
对象已发布到重定向 URL。调用 URL 时,浏览器中的所有活动都会停止并抛出此错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://<website>.com. This can be fixed by moving the resource to the same domain or enabling CORS.
我已经安装了 django-cors-headers,并在 settings.py 中添加了以下行:
CORS_ORIGIN_ALLOW_ALL = True
为什么我仍然收到错误消息?
【问题讨论】:
posted to a redirect url 是什么意思? 我正在发送 POST 请求,响应为 redirectio 您是否试图通过在您的服务器上创建一个获取外部资源并将其呈现为本地资源的视图来规避 CORS?错误消息是来自访问您的视图的浏览器,还是视图在发布时产生错误?如果帖子返回 302 响应,您或许应该使用 Django 的HttpResponseRedirect
?您是否检查过预检请求是否正确/正在发生?
消息正在浏览器的控制台中。在使用 HttpResponseRedirect 时,我得到:“响应”对象没有属性“查找”。
请求是正确的,如果我将请求的URL和参数一起直接粘贴到浏览器中,它确实有效。
【参考方案1】:
确保您添加了正确的 CORS 中间件,更重要的是它的顺序和允许的方法。 此外,请确保它已列在您的 installed_apps 设置中。
【讨论】:
以上是关于即使在安装 cors-headers 之后,Django cors 也会出错的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft.Office.Interop 错误,即使在安装 PIA 之后
ModuleNotFoundError: No module named 'webdriver_manager' 错误即使在安装 webdrivermanager 之后