【问题标题】:django-cors-headers stop working for Django 1.6.11django-cors-headers 停止为 Django 1.6.11 工作
【发布时间】:2018-01-16 07:29:59
【问题描述】:

我目前使用 Angular4 和 django-nonrel 作为后端。一开始就遇到了 CORS 错误并安装了 django-cors-headers 来为 django 提供对 CORS 的支持。我必须安装 1.1.0 版本,因为 django-nonrel 支持 直到 django 1.6.11。到目前为止,几周以来一切都运行良好,但今天我关闭笔记本电脑后,我又开始收到 CORS 错误。

姜戈

ConnectionFailure:[Errno 10061] 无法建立连接,因为 目标机器主动拒绝

角度

XMLHttpRequest 无法加载 http://127.0.0.1:8000/pgla/project_list。不 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用来源“http://127.0.0.1:4200” 使用权。响应的 HTTP 状态代码为 500

我验证了 django-cors-headers 模块的安装说明,一切都是正确的。这是我的设置:

MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware', 
)

CORS_ORIGIN_ALLOW_ALL = True

这里是 Angular 的监听器参数:

new Headers({'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'}),

【问题讨论】:

  • 错误消息中提到的 500 状态码表示http://127.0.0.1:8000 服务器上存在一些服务器端故障。因此,您需要进入并查看该服务器上的服务器日志,以了解有关该故障原因的记录信息。浏览器显示 CORS 错误消息的事实只是偶然的——这只是因为服务器没有将 Access-Control-Allow-Origin 响应标头添加到 500 响应中。真正的问题是您需要修复导致 500 的问题。一旦你解决了这个问题,CORS 错误也会消失

标签: django angular


【解决方案1】:

Django corsheaders 适用于 django 1.8 及更高版本。请升级您的 django 版本,然后重试。

要求 使用以下所有组合进行测试:

Python:2.7、3.6 Django:1.8、1.9、1.10、1.11、2.0

【讨论】:

    猜你喜欢
    • 2016-06-08
    • 2016-11-16
    • 2018-06-23
    • 2018-04-24
    • 2015-03-18
    • 2020-06-11
    • 2021-05-24
    • 2018-08-21
    • 2020-05-28
    相关资源
    最近更新 更多