安装依赖
django-cors-headers
pip install django-cors-headers
配置流程
1. INSTALLED_APPS中注册corsheaders
2. MIDDLEWARE中添加corsheaders.middleware.CorsMiddleware
位置尽量靠前,官方建议在'django.middleware.common.CommonMiddleware'上方
3. CORS_ORIGIN_ALLOW_ALL 布尔值 如果为True白名单不启用
4. 白名单
CORS_ORIGIN_WHITELIST = ["example.com"]
5.
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
6.
CORS_ALLOW_HEADERS = (
'accept-encoding',
'authorzation',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
到这里基本上所有的跨域问题就都解决了
7. CORS_PREFLIGHT_MAX_AGE
默认 86400s
8. CORS_EXPOSE_HEADERS []
特殊的ajax响应头,需要特殊说明
9. CORS_ALLOW_CREDENTIALS 布尔值, 默认False
是否要跨域的cookies