django 之 session

设置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的时候开始。

    

原文地址:https://www.cnblogs.com/jiayou888888/p/8379880.html