设置session
request.session['username' ] = user # user 是从数据库获取到的值 username 是写在session中的key的值
用session之前 一定要先执行 创建表格的两条命令。
session生成之后 默认是保持在数据库中, 数据库表格有个名字叫session的表格
取session中的某个值 request.session['username'] #【】里面 就是字典的索引 ,但是这样写 如果不存在 就会报错,所以应该写成get的形式
request.session.get('username',None) 这样不存在也不会报错
在前端获取session中的值 , 使用模板语言{{ request.session.username }},因为session 是保存在request中的,所以在后台可以不往前台传,前台直接获取
request.session['username' ] = user 是设置值,他当session存在的时候 就更新值,不存在的时候设置值
request.session.setdefault['username'] = user 也是设置值, 当session存在的时候 不更新, 不存在的时候才设置。
删除session
del.session['username'] 删除session中的 username 的值
request.session.delete('session_key') 删除当前用户 session中 所有的信息,
request.session.clear() 也是删除用户的所有信息 ,一般用与注销的操作
设置 session 的超时时间,session的超时时间 默认的是 2周
1. 自己设置超时时间
request.session.set_expiry(10) 单位是秒
2.修改django 默认的超时时间
SESSION_COOKIE_AGE = 1209600 设置超时时间 ,这个是系统的默认值
SESSION_SAVE_EVERY_REQUEST=False 系统默认是false ,应该给他在setting中设置 成True,表示的是,超时时间从 上次操作网页开始,
如果是false的话,表示 超时时间是从 设置session的时候开始。