Django跨域问题(CORS错误)
一.出现跨域问题(cors错误)的原因
通常情况下,A网页访问B服务器资源时,不满足以下三个条件其一就是跨域访问
协议不同
端口不同
主机不同
二.Django解决跨域
1.安装django-cors-headers模块
pip3 install django-cors-headers
2.注册AAP
INSTALLED_APPS = [
...
'corsheaders'
]
3.添加中间件
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware'
]
三.跨域设置
settings.py
中配置
1.允许所有来源访问
CORS_ORIGIN_ALLOW_ALL = True
2.允许部分来源访问
CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = [
‘http://example.com‘ #允许访问的来源]
设置指定来源注意点
:
- 来源必须标明:ip,端口,协议,而且ip,协议,端口一一对应才能获取
- 当中的127.0.0.1与localhost代表的不是同一个
- 比如说你选了
http://127.0.0.1:1000
你发起请求时http://localhost:1000
数据就没法获得
- 比如说你选了