1. 程式人生 > >django應用之corsheaders[跨域設置]

django應用之corsheaders[跨域設置]

pos pip true ddl coo ... class accept localhost

安裝

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
)

django應用之corsheaders[跨域設置]