[同源策略 - 跨域问题]
[同源策略 - 跨域问题]
一、django默认是同源策略,所以前后台分离项目,访问django会出现CORS跨域问题的报错
二、什么叫跨域
'''
i)ip不同:前后台(两个服务器)不在一台主机上运行的
ii)port不同:前后台(两个服务器)是相互独立的,运行在不同的端口之上
iii)协议不同:http与https之间也同样是跨域问题
注:三者满足一个,就是跨域
'''
三、解决跨域
'''
i)伪装:将前台请求伪装成后台自己对自己发生的请求
ii)后台主动允许跨域:后台配置允许跨域即可(在响应头中处理)
'''
四、Django解决跨域
i)安装模块:
'''
pip install django-cors-headers
'''
ii)注册app:
'''
INSTALLED_APPS = [
...
'corsheaders'
]
'''
iii)添加中间件
'''
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware'
]
'''
iv)允许跨域源
'''
CORS_ORIGIN_ALLOW_ALL = True
'''
大功告成!!!!