Django跨域请求无法传递Cookie

问题
在使用 Django + Vue 进行前后端分离开发时,发现在跨域访问情况下,后台 HttpResponse 在使用 set_cookie 方法后,浏览器无法获取 Cookie。

解决方法

  1. Django 端使用 django-cors-headers 解决跨域问题,修改 settings.py 文件。具体方案:
    Flask和Django中解决跨域请求问题
  2. 对 axios 进行设置,允许浏览器设置或获取Cookie。
axios.defaults.withCredentials = true;

Django 之 Cookie 操作

from django.http import HttpResponse

# 设置 Cookie
response = HttpResponse('OK')
response.set_cookie('key', 'value')

# 获取 Cookie
request.COOKIES['key']
request.COOKIES.get['key']

# 删除 Cookie
response.delete_cookie('key')

你可能感兴趣的:(django)