
1. 使用django-cors-headers解决
1.1 安装django-cors-headers
$ pip install django-cors-headers
1.2 修改settings.py
1 | INSTALLED_APPS = [ |
2. 使用自定义middleware
1 | class EnableCors(MiddlewareMixin): |
3. 我遇到的问题
以前都是直接用1就解决了,没想到今天吃瘪了,懵逼了好一会。。
上面两种方式都试过了,前端始终报错,于是用httpie
测试了一下接口
结果如下
1 | -> % http -h GET http://xxxx/ |
破案了,因为公司运维给配的域名自动会把http请求重定向到https,导致返回头没有Access-Control-Allow-Origin
字段,也使得跨域的设置失效。