django web 使用session

Session

在web开发的过程中,对于敏感重要的信息,一般来说需要存储在服务端,比如用户信息,余额,等级,验证码等,

    在服务端进行状态保持的方案就是  Session

启用session

django项目默认启用session  如果不需要使用可以注释此行

session存储方式

在setting中设置SESSION_ENGINE项指定Session数据存储的方式,可以存储在数据库、缓存、Redis等。

1)默认存储在配置的数据库中,可以不写

2)存储到内存中速度会比较快,但是容易丢失

3)混合内存和数据库存储

4)文件session

5)加密 session cookie 

数据迁移后会在数据库中创建存储session的表  表中包括           键    值    过期时间

依赖于Cookie

所有请求者的Session都会存储在服务器中,服务器如何区分请求者和Session数据的对应关系呢?

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

结果:如果想使用Session,浏览器必须支持Cookie,否则就无法使用Session了。

存储Session时,键与Cookie中的sessionid相同,值是开发人员设置的键值对信息,进行了base64编码,过期时间由开发人员设置。

使用session的操作  对象及方法

1)使用键值对的格式写 session                                          request.session['key']=value

2)根据键 取 值                                                                      request.session.get('key', 默认值)

3)清除所有session,在存储中删除值部分                             request.session.clear()

4)清除session数据,在存储中删除session的整条数据。    request.session.flush()

5)删除session中的指定键及值                                              del request.session['键']

6)设置会话的超时时间                                                          request.session.set_expiry(value)

  • 如果value是一个整数,会话将在value秒没有活动后过期。
  • 如果value为0,那么用户会话的Cookie将在用户的浏览器关闭时过期。
  • 如果value为None,那么会话永不过期。
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值