Django跨域问题解决办法---采用django-cors-headers

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',
)

重启服务

原文地址:https://www.cnblogs.com/jruing/p/14550022.html