Session_Django中操作session

Session

1、Session和Cookie的作用有点类似,都是为了存储用户相关的信息。不同的是:
    ⑴Cookie是存储在本地浏览器中(实际存在的)
    ⑵Session是一个思路、一个概念、一个服务器存储授权信息的解决方案,不同的服务器,不同的框架,不同的语言有不同的实现
    ⑶虽然Session实现方式不一致,但是它们的目的都是服务器为了方便存储数据的。Session的出现,是为了解决Cookie存储数据不安全的问题

2、Cookie是在浏览器端保存键值对数据,而Session是在服务器端保存键值对数据
    ⑴不管是Cookie还是Session都是以键值对的形式存在的,键名任意,值一般都是用户信息相关的数据

3、Session的使用依赖Cookie:在使用Session后,会在Cookie中存储一个Sessionid的数据,每次请求时浏览器都会将这个数据发给服务器,服务器在接收到Sessionid后,会根据这个值找出这个请求者的Session

4、Cookie和Session的使用:Web开发发展至今,Cookie和Session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业中,一般有两种存储方式
    ⑴存储在服务器端:如果用户已经登录,则服务器会在Cookie中存储一个Sessionid,下次再请求的时候,会把这个Sessionid携带上来,服务器根据Sessionid在Session库中获取用户的Session数据(数据中一般都会包含用户信息)。就能知道用户是谁了
    ⑵将Session数据加密,然后存储在Cookie中,这种专业术语叫client side session。flask框架默认采用的就是这种方式

5、Session是在用户访问的时候,创建一个随机的字符串,保存在客户端的Cookie里面,默认名是sessionid,然后在服务器端,给这个字符串创建一个键值对,这个字符串的值又可以是一个字典结构,保存所有相关的信息
    ⑴因此可以这么理解,Session是服务器端的一个巨大的键值对,每一个key都对应一个登录用户的随机字符串,每个key都有自己的value,这个value同样是一个字典,包括这个登录账号的所有信息

Django中Session的存储

1、在Django中session信息采用的是存储在服务器端的方式:存储在数据库中

2、Django把session信息默认存储到数据库中,当然也可以存储到其他地方,比如缓存中,文件系统中等。存储在服务器的数据会更加安全,不容易被窃取。但存储在服务器中也有一定的弊端,就是会占用服务器的资源。但是服务器已经发展至今,存一些Session信息还是绰绰有余的

3、Django中Session键值对数据保存:
    ⑴session的键值对数据默认保存在django项目的一张数据库表中(表名为:django_session)
    ⑵django_session这个表在配置数据库并生成具体的表时会自动生成:Django默认配置好的,只需要执行命令生成具体的表就好了

4、Django会在表中会根据Sessionid来提取指定的Session数据
    ⑴浏览器第一次访问时生成Sessionid和具体的Session数据,将Sessionid和Session数据保存到数据库中,再把这个S

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值