Django的跨域问题
1.什么是跨域问题?跨域产生原因是啥?
通常情况下,跨域产生的原因是A浏览器要向B服务器请求资源时,如果下面的三个条件不满足就是涉及跨域问题:
- 协议不同
- 主机不同
- 端口号不同
2.Django中处理跨域请求资源的方案:
# 首先安装第三方模块 pip3 install django-cors-headers
# 接着在Django项目的settings项目配置中注册 INSTALLED_APPS = [ ... 'corsheaders' ]
# 再者在中间件里添加中间件 MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware' ]
# 最后允许跨域原(所有主机默认) CORS_ORIGIN_ALLOW_ALL = True # 添加访问的额白名单(指定主机访问) #单个配置 CORS_ORIGIN_WHITELIST =( ' 域名', ) #正则配置: CORS_ORIGIN_REGEX_WHITELIST =(r'^(https?://)?(w+.)?jim.com $',)