根据django-cors-headers官网配置
- 先安装:pip install django-cors-headers
- 只需要在settings下配置
在apps下注册
INSTALLED_APPS = [
# 跨域的解决
'corsheaders',
]
在中间件下
MIDDLEWARE = [
# 跨域的解决
'corsheaders.middleware.CorsMiddleware', # 放在前面
'......',
]
其他配置,主要是配置白名单
# 处理跨域请求
CORS_ALLOW_CREDENTIALS = True # 允许将cookie包含在跨站点HTTP请求中。默认为False。
# 以下两个二选一就行
# CORS_ORIGIN_ALLOW_ALL = True # 为True表示允许所有主机,将不使用白名单,默认为False,
CORS_ORIGIN_WHITELIST = [ # 跨域请求白名单(可以跨域请求的主机或域名)
# 'https://sub.example.com', # URI方案+主机名+端口,或特殊值'null'或 'file://'之一。默认端口(HTTPS = 443,HTTP = 80)在此处是可选的。
'http://localhost',
'http://127.0.0.1:8000',
]
CORS_ALLOW_METHODS = [ # 允许的请求方式
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
]
CORS_ALLOW_HEADERS = [ # 请求时可以使用的非标准HTTP标头的列表,以下是默认的
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
]