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 $',)