现在,前端与后端分处不同的域名,这就涉及到跨域访问数据的问题:
因为浏览器的同源策略,
默认是不支持两个不同域间相互访问数据
,而我们需要在两个域名间相互传递数据,这时我们就要为后端添加跨域访问的支持。
对此,我们使用CORS (
django-cors-headers
) 扩展来解决后端对跨域访问的支持。
django-cors-headers
用于处理跨域请求,一个为响应添加跨源资源共享(CORS)头的Django应用,这允许从其他源向Django应用程序发出浏览器内请求
第一步:安装 django-cors-headers
pip install django-cors-headers
第二步:在项目根目录的setting.py
文件中引入应用
INSTALLED_APPS = (
'corsheaders',
中间层设置
第三步:在项目根目录的setting.py
文件中配置中间层
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
添加白名单
第四步:在项目根目录的setting.py
文件中使用添加白名单
白名单:凡是出现在白名单中的域名,都可以访问后端接口
CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8080',
'http://www.baidu.com:8080',
CORS_ALLOW_CREDENTIALS = True