zoukankan      html  css  js  c++  java
  • 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的时候开始。

        

  • 相关阅读:
    [BZOJ]1018 堵塞的交通(SHOI2008)
    [BZOJ]1069 最大土地面积(SCOI2007)
    HDU5739:Fantasia——题解
    洛谷6186:[NOI Online 提高组]冒泡排序——题解
    洛谷4631 & UOJ415 & LOJ2586:[APIO2018] Circle selection 选圆圈——题解
    洛谷2014:[CTSC1997]选课——题解
    洛谷2758:编辑距离——题解
    洛谷4148 & BZOJ4066:简单题——题解
    洛谷4357 & BZOJ4520:[CQOI2016]K远点对——题解
    洛谷4320:道路相遇——题解
  • 原文地址:https://www.cnblogs.com/jiayou888888/p/8379880.html
Copyright © 2011-2022 走看看