zoukankan      html  css  js  c++  java
  • 05_request对象操作session详解

    在django中操作session

    django中的session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid即session_key数据,然后再把这个sessionid 放到cookie中发送给浏览器存储,浏览器下次再向服务器发送请求的时候会自动的把所有cookie信息都发送给服务器,服务器再从cookie中获取sessionid然后再从数据库中获取session数据。但是我们在操作session的时候,这些细节根本不用管,我们只需要通过request.session即可操作。 示例代码如下:

    def session_test(request):
        request.session.get('username')
        return HttpResponse('获取session')
    

    session 常用方法如下:

    1. get: 从session中获取指定值
    2. pop: 从session中删除一个值, 并返回
    3. keys: 从session中获取所有的键(key)
    4. items: 从session中获取所有的值, 返回如这样的数据: dict_items([('username', 'long'), ('pwd', 'yanyan')])
    5. clear: 清除当前用户的session数据, sessionid还会存在
    6. flush: 删除session并且删除浏览器中存储的sessionid, 一般在注销的时候用得比较多 (会把服务器中django_session表中的数据一并删除掉)
    7. set_expiry(value): 设置过期时间 默认不设置的话,过期时间是2周
      * 整数: 代表秒数,表示多少秒后过期
      * 0: 零, 代表只要浏览器关闭,session就会过期
      * None: 使用全局的session配置。在session.py中可以设置SESSION_COOKIE_AGE来配置全局的过期时间, 默认也是两周过期
    8. clear_expired: 清除过期的session。 Django并不会清除过期的session,需要定期手动的清理,或者是在终端,使用命令行 python manage.py clearsessions 来清除过期的session
  • 相关阅读:
    科技服务队的日子第一次上班
    快速删除word中的表格
    名词探疑:为什么HTML里单选叫radio呢?
    jquery 保存DOM对象并转换
    作业
    第二次作业
    第三次作业
    WPF自定义Window样式(2)
    sql server中的分页数据查询
    WPF自定义Window样式(1)
  • 原文地址:https://www.cnblogs.com/nichengshishaonian/p/11523250.html
Copyright © 2011-2022 走看看