当前后端分离开发时,会出现跨域请求问题,解决思路如下:
1) 安装django-cors-headers 这个包
pip install django-cors-headers==2.1.0
2) 配置Django-settings.py
安装app
INSTALLED_APPS = [
'django.contrib.admin',
#刚才安装的django-cors-headers包所引入的app
'corsheaders'
]
配置必要参数
#开启debug模式,注意上线运营时要关闭debug
DEBUG = True
# 允许所有ip访问
ALLOWED_HOSTS = ['*']
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
#允许所有的请求头
CORS_ALLOW_HEADERS = ('*')
配置必要中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware', #注意顺序,放在这儿
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
3)VUE配置--配置main.js 全局使用axios
/导入axios
import Axios from 'axios';
//全局使用axios
Vue.prototype.$axios = Axios;
//配置axios
axios.defaults.crossDomain = true