- 跨域:指浏览器不能执行其他网站的脚本,这是由于浏览器的同源策略造成的。同源策略是浏览器为了用户安全而实施的一种安全限制。当从一个域名的网页去请求另一个域名的资源时,如果域名、端口、协议任意一个不同,就属于跨域。
- CORS(跨域资源共享):是一个W3C标准,全称是Cross-Origin Resource Sharing。它克服了AJAX只能同源使用的限制,通过在后端服务器响应数据中设置响应头信息,允许浏览器执行跨域请求。
安装django-cors-headers
bash
pip3 install django-cors-headers
python
#在自己开发的时候可以设置所有ip可以访问
ALLOWED_HOSTS = ['*',] # 允许所有的IP可以访问
INSTALLED_APPS = [
......
'corsheaders',
......
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
"corsheaders.middleware.CorsMiddleware", #这个中间件一定要在一些访问respone的中间件的前面,#以便能够正常加载
'django.middleware.common.CommonMiddleware',
#关闭csrf保护
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
在自己开发的时候可以设置允许所有域名都可以跨越访问
python
#允许所有的域名跨越访问
CORS_ALLOW_ALL_ORIGINS = True
这样django的跨越访问就设置完成了
详细见官方文档django-cors-headers · PyPI