我們使用CORS來解決後端對跨域訪問的支持。
使用django-cors-headers擴展
安裝
pip install django-cors-headers
添加應用
INSTALLED_APPS = (
...
'corsheaders',
...
)
中間層設置
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
...
]
添加白名單
# CORS
CORS_ORIGIN_WHITELIST = (
'127.0.0.1:8080',
'localhost:8080',
'www.meiduo.site:8080'
)
CORS_ALLOW_CREDENTIALS = True # 允許攜帶cookie
設置allowed_hosts
#允許所有主機訪問 '*'
ALLOWED_HOSTS = ['*']
如果還有問題setting裏再加入:
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)