Django跨域问题解决办法---采用django-cors-headers
项目采用前后端分离(vue+django),但是在前后端联调接口的时候容易出现跨的问题,解决方案:在response header中加上Access-Control-Allow-Origin=*
使用第三方模块解决跨域问题
注意:这个方法适合django2.10以下的版本,对于高于django2.1的版本请参考https://www.cnblogs.com/jruing/p/14549819.html
安装
pip install django-cors-headers
配置
在项目settings.py文件配置如下
INSTALLED_APPS = [
'corsheaders'
]
# 中间件
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',# 这个中间件必须在commonmiddleware上面
'django.middleware.common.CommonMiddleware',
]
# 允许cookie
CORS_ALLOW_CREDENTIALS = True
# 全部允许配置
CORS_ORIGIN_ALLOW_ALL = True
# 允许的请求方式
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
# 允许的请求头
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
'Pragma',
)