Django中cookie和session的存、取、删除

vue 设置Axios允许携带cookie

import axios from 'axios'
Vue.prototype.axios =axios
axios.defaults.withCredentials = true

Django 设置settings允许携带cookie

CORS_ALLOW_CREDENTIALS = True

一定要把所有的本地IP改成公网IP,前后端起项目要用0.0.0.0 启动,必须携带cookie不然会取不到session

cookie的存:

response = HttpResponse('登陆成功')     #改成重定向等都可以
response.set_cookie('username',username)
#response.set_signed_cookie('username',username,salt='asdasd')    #带签名的

cookie(加盐)

response.set_cookie('password',password) 
return response

cookie的取:

username = request.COOKIES.get('username')
#username = request.get_signed_cookie('username',salt='asdasd')     #获取带签名的cookie(盐要相同,不然拿不到)
password = request.COOKIES.get('password')

cookie的删除:

response = HttpResponse('清除成功')      #改成重定向等都可以
response.delete_cookie('username')
response.delete_cookie('password')
return response
 PS:不设置过期时间的话,默认关闭浏览器就失效

session的存:

request.session['username'] = username
#上面这一句代码完成了以下事情:
#1、生成随机字符串
#2、将随机字符串写到用户浏览器cookie
#3、将随机字符串保存到服务器session
#4、在服务器随机字符串对应的字典中设置相关内容
request.session['password'] = password
return HttpResponse('登陆成功')

session的取:

username = request.session.get('username')
#username = request.session['username']      #两种方式都可以取,但是这种如果没取到会报错
password = request.session.get('password')

session的删除:

request.session.flush()    #删除所有session
#del request.session['username']   #删除key为username的session
return HttpResponse('清除成功')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值