Django2.x实现跨域请求
1.使用pip安装django的Cros模块
pip3 install django-cors-headers
2.修改Django项目的Settings.py
#注册app
INSTALLED_APPS = [
...
'corsheaders',#增加
...
]
# 添加中间件
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',# 新增
...
]
##跨域的配置
#尤其注意允许访问的域名白名单 和开启CORS_ORIGIN_ALLOW_ALL 二选一 不要全设置
#CORS_ORIGIN_WHITELIST 中的域名请携带协议名称
CORS_ORIGIN_WHITELIST = (
'*'
)
CORS_ORIGIN_ALLOW_ALL = True
#允许跨域请求的请求方法类型
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
#允许跨域请求的请求头类型
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
#开启后允许cookie传递 必备
CORS_ALLOW_CREDENTIALS = True
#云服务器部署时候请务必打开
ALLOWED_HOSTS = [u'*']
3.检测配置
python3 manage.py check #无报错即配置正常
Django2.x实现跨域请求
http://example.com/posts/3fb71c64/