前端:
axios.("/xxxxx/getToken/", {}).then((res) => { sessionStorage.setItem("csrftoken111",res.token) //向后台请求并获取csrftoken }); request.js 中添加 FEBS_REQUEST.interceptors.request.use( config => { let csrftoken111 = sessionStorage.getItem("csrftoken111") config.headers.post["X-CSRFtoken"] = csrftoken111 //post请求头里添加X-CSRFtoken参数 return config; }, err => { Message.error("参数错误"); return Promise.reject(err); } ); 后端:setting.py(或setting/base.py)中 添加 'django.middleware.csrf.CsrfViewMiddleware'MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', //新加
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
# 加入simplepro的中间件
'simplepro.middlewares.SimpleMiddleware',
# 'middlewares.Mycors',
]