什么是跨域?
跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制
同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域
不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。
django跨域配置
- 安装 django-cors-headers
pip install django-cors-headers
- 添加到已安装的应用程序中
INSTALLED_APPS =(
...
'corsheaders ',
...
)
- 添加中间件类来收听响应
MIDDLEWARE = [
...
# 跨域请求中间件
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
注意:要放在中间件(common.CommonMiddleware)的上面,涉及到请求响应的顺序问题
- 在 settings.py 的任意位置 添加
CORS_ORIGIN_ALLOW_ALL = True