05-django项目的跨域处理
django项目的跨域处理
前提:理解跨域:
同源与跨域:
- 同源就是 协议,主机,端口号都相同!
- 浏览器有同源策略限制,特别在做前后端分离时候要处理跨域!
1、安装:
pip install django-cors-headers
2、配置
- 2.1 注册app
INSTALLED_APPS = [#drf跨域处理'corsheaders',...
]
- 2.2 添加到中间件
需要把csrf.CsrfViewMiddleware注释掉!
MIDDLEWARE = [# 添加支持跨域的中间件'corsheaders.middleware.CorsMiddleware',# 前后台分离,注释掉# "django.middleware.csrf.CsrfViewMiddleware", ...
]
- 2.3 跨域设置
方式一:跨域设置 允许所有 domain 访问
CORS_ALLOW_ALL_ORIGINS = True
方式二:限定域名访问配置:
#在测试环境中,可以允许所有domain来访问,以避免 CORS问题;
#前后端分离项目在生产环境下,设置白名单:示例
CORS_ALLOWED_ORIGINS = ('http://xxx.com','https://xxx.com','127.0.0.1:8080','localhost:8080',
)