之前讲过cookie的语法和应用,现在来看看session的语法和应用
设置
新建对象
在session中添加数据,是session_store对象
request.session[‘uname’] = ‘zhangsan’
设置完后,在数据库中会建一个session系统表
有key,data,过期时间
其中data是我们设置的信息,且进行了json序列化
网页中可以看F12,在cookie里有session
可以看session源码,新版没有视频里的源码。
进global_setting.py可以看到session的各类默认设置
修改有效时间
session默认14天有效时间,可以用该属性进行修改
request.session.set_expiry(32460*60)
- 设置有效时间为3天,默认秒
- 设置0表示关闭浏览器后到期
- 设置为日期,指定日期值后到期
删除
刚才在设置里提到,新建session会有store对象和数据库两个内容
删除对象
只删除了session_store对象的信息,数据库不变
del request.session[‘uname’]
删除对象和数据库
request.session.flush()
获取
获取data
uname = request.session[‘uname’]
获取key
session在服务器里的保存分为两部分
- 随机字符串session_key,相当于cookie里的session id
- 每个session id对应了一个session_store对象,是字典的形式
{id:1, name:“alax”, account:100000}
所以可以通过session对象获取session key
输出session的id用
print request.session.session_key
刚设置的值在服务器里,响应过来给客户端response,需要再刷新一次就可以了,浏览器的request里