當前後端分離開發時,會出現跨域請求問題,解決思路如下:
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