0. 官网
官网https://pypi.org/project/django-cors-headers/
1. 安装
pip3 install django-cors-headers -i https://pypi.douban.com/simple
2. 配置
- 如果是在linux,最好把下列配置中的参数,都配置上
2.1 app注册
INSTALLED_APPS = (
...
'corsheaders',
...
)
2.2 中间件注册
- 最好写在最顶层,
- 必须写在CommonMiddleware中间件的上面
- 因为需要在返回时,给当前请求添加一个'Access Control Allow Origin'
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
...
]
2.3 白名单
- 不支持 '*' 的写法
# 3.0以上版本需要加协议,3.0以下不需要--->127.0.0.1:8000
CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8000',
'http://127.0.0.1', # 不写端口,默认80
)
2.4 setting下面添加下面的配置
CORS_ORIGIN_ALLOW_ALL = True
# 实际请求所允许的请求方式列表。默认为:
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 发出实际请求时可以使用的非标准HTTP标头的列表。默认为:
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
)
3. 参数介绍
# 跨域请求时,是否运行携带cookie,默认为False
CORS_ALLOW_CREDENTIALS
CORS_ORIGIN_ALLOW_ALL
如果为True,将不使用白名单,并且将接受所有来源。默认为False。