安装
pip install django-cors-headers
注册应用
INSTALLED_APPS = ( ... 'corsheaders', ... )
中间层设置
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', ... ]
添加白名单
# CORS 设置跨域域名 CORS_ORIGIN_WHITELIST = ( '127.0.0.1:8080', 'localhost:8080', 'www.xxxx.com:8080', 'api.xxxx.com:8000' ) CORS_ALLOW_CREDENTIALS = True # 允许携带cookie ALLOWED_HOSTS = ['www.xxxx.com:8080','api.xxxx.com:8000','127.0.0.1'] # 前端需要携带cookies访问后端时,需要设置 withCredentials: true
设置允许访问的方法( 已测,没用 )
CORS_ALLOW_METHODS = ( 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS' )
设置允许的header:(未测)
CORS_ALLOW_HEADERS = ( 'x-requested-with', 'content-type', 'accept', 'origin', 'authorization', 'x-csrftoken' )
添加中间件
MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', #最好添加至第一行 ]
配置白名单
#单个配置 CORS_ORIGIN_WHITELIST =( ' 域名', ) #正则配置: CORS_ORIGIN_REGEX_WHITELIST =(r'^(https?://)?(\w+\.)?jim\.com $',)
或者直接允许所有主机跨域
CORS_ORIGIN_ALLOW_ALL = True 默认为False
一般情况下,我们配置这些就足够,当然最为一个出名的扩展,肯定做的很完美,更多的配置,请访问: https://github.com/ottoyiu/django-cors-headers/
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django应用之corsheaders[跨域设置] - Python技术站