第五单元状态保持

状态保持是什么
CookieSession一直以来都是Web开发中非常关键的一环,因为HTTP协议本身为无状态,每一次请求之间没有任何状态信息保持,往往我们的Web服务无法在客户端访问过程中得知用户的一些状态信息,比如是否登录等等;那么这里通过引入Cookie或者Seesion来解决这个问题
Cookie
当客户端访问时,服务端会为客户端生成一个Cookie键值对数据,通过Response响应给到客户端。当下一次客户端继续访问相同的服务端时,浏览器客户端就会将这个Cookie值连带发送到服务端
因为cookie是保存在浏览器中的一个纯明文字符串,所以一般来说服务端在生成cookie值时不建议存储敏感信息比如密码
获取cookie

设置cookie

class CookieView(View):
def get(self,request):
# 获取cookie信息
cookie_data=request.COOKIES.get(‘shenfen’)
# 进行判断是否有cookie信息
if cookie_data is None:
# 没有则设置
resp = HttpResponse(‘设置cookie’)
resp.set_cookie(‘shenfen’,‘BOOS’)
return resp
else:
# 然后渲染cookie信息
return HttpResponse(f’当前cookie信息为{cookie_data}')
删除cookie

删除cookie

class DelCookieView(View):
# 删除cookie信息
def get(self,request):
resp = HttpResponse(‘删除cookie信息’)
# 删除掉shenfen的信息
resp.delete_cookie(“shenfen”)
return resp
Session
Session在网络中,又称会话控制,简称会话。用以存储用户访问站点时所需的信息及配置属性。当用户在我们的Web服务中跳转时,存储在Session中的数据不会丢失,可以一直在整个会话过程中存活。
获取session
class SessionView(View):
# 覆盖session不存在, 就生成一个session,若存在则返回session信息
def get(self,request):
session_data = request.session.get(‘money’)
if session_data is None:
request.session[‘money’]=‘10000’
return HttpResponse(“设置session”)
else:
return HttpResponse(f’session信息为:{session_data}')
删除session
del request.seesion[Key]

删除对应session,Key值不存在时,引发KeyError

request.session.clear()

清空Session中的所有数据。这里客户端还会保留sessionid;

只不过在服务端sessionid对应的数据没有了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值