django支持
安装:sudo pip3 install django-cors-headers==2.5.3 帮我们实现简单跨域请求和预检跨域请求在response添加头部
django-cors-headers官网 https://pypi.org/project/django-cors-headers/
强烈建议安装离线包,否则会强制升级django到2.0以上
1,配置流程
1,INSTALLED_APPS 中添加 corsheaders
2,MIDDLEWARE 中添加 corsheaders.middleware.CorsMiddleware 帮我添加头部
位置尽量靠前,官方建议 ‘django.middleware.common.CommonMiddleware’ 上方
3,CORS_ORIGIN_ALLOW_ALL = True 布尔值 如果为True 白名单不启用
4,CORS_ORIGIN_WHITELIST =[ # 跨域白名单
"https://example.com"
]
5, CORS_ALLOW_METHODS = ( # 允许请求动作
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
6, CORS_ALLOW_HEADERS = ( # 如果是自定义头,需要在setting里面配置添加
'accept-encoding',
'authorization', # 前端给后端传token用的
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken', # 凡是x-开头都是http以外的自定义头部
'x-requested-with', # 用来判断是不是ajax请求
)
7, CORS_PREFLIGHT_MAX_AGE 默认 86400s 默认是一天
8, CORS_EXPOSE_HEADERS [] # 自定义扩展头
9, CORS_ALLOW_CREDENTIALS 布尔值, 默认False
10.APPEND_SLASH = False #关掉url自动补“/”