Django前后端分离

1. 问题背景:前后端分离,后端需要将token放在响应头的Authorization中,然后前端vue去响应头里面拿这个属性,并保存在浏览器

1. 对于django后端,在将token(Authorization)放在响应头里面之后,还要在响应头设置另外一个头,前端才能拿到token(Authorization)
# 设置此响应头是为了前端能够拿到token这个字段,不设置前端浏览器根本拿不到
response.headers['Access-Control-Expose-Headers'] = 'Authorization'


2. 对于前端,在每一次拿到token的时候,更新当前token,没拿到就不做更新即可
axios.interceptors.response.use(response => {
  // 将后端返回的token保存,没有返回token时,不修改本地token
  if (response.headers.authorization) {
    window.sessionStorage.setItem('token', response.headers.authorization)
  }
  return response
})


 
原文地址:https://www.cnblogs.com/JackShi/p/15140694.html