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/
发布于
2020年1月12日
许可协议