下载依赖
pip install django-cors-headers
注册利用
INSTALLED_APPS = [ ... 'corsheaders' , ... ]
增加中间件
CorsMiddleware
应放在尽可能高的,特地是能够产生如Django的回应任何中间件之前CommonMiddleware
或白噪声的WhiteNoiseMiddleware
。
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware' , # 上面这句是默认的第一句 'django.middleware.common.CommonMiddleware' , ... ]
为视图增加注解
from django.views.decorators.csrf import csrf_exempt@csrf_exemptdef user_login(request): ...
额定的设置
# settings.py# 跨域django-cors-headers配置CORS_ALLOW_CREDENTIALS = TrueCORS_ORIGIN_ALLOW_ALL = True# 受权进行跨站点HTTP申请的起源列表CORS_ALLOW_ORIGINS = [ '*']# 理论申请所容许的HTTP动词列表。默认为CORS_ALLOW_METHODS = [ 'DELETE' , 'GET' , 'OPTIONS' , 'PATCH' , 'POST' , 'PUT' ,]# 收回理论申请时能够应用的非标准HTTP标头的列表。默认为:CORS_ALLOW_HEADERS = [ 'accept' , 'accept-encoding' , 'authorization' , 'content-type' , 'dnt' , 'origin' , 'user-agent' , 'x-csrftoken' , 'x-requested-with' ,]
更多配置信息