外观
会话对象的常用方法
会话中间件启用后,传递给视图request参数的HTTPRequest对象将包含一个session属性,这个属性的值是一个类似字典的对象。request.session对象的常用方法如下。
| 方法 | 说明 |
|---|---|
request.session['key'] = 123 | 设置或者更新key的值 |
request.session.setdefault('key', 123) | 设置key的默认值 |
request.session['key'] | 获取Session中指定key的值 |
request.session.get('key', None) | 获取Session中指定的值,如果不存在则赋值默认值 |
request.session.pop('key') | 删除Session中弹出指定key |
del request.session['key'] | 删除Session中指定key的值 |
request.session.delete('session_key') | 删除当前用户的所有Session数据 |
request.session.clear() | 删除当前用户的Session数据 |
request.session.flush() | 删除当前Session数据并删除Cookie |
request.session.session_key | 获取用户Session的随机字符串 |
request.session.clear_expired() | 将所有Session失效日期小于当前日期的数据删除 |
request.session.exists('session_key') | 检查用户Session的随机字符串在数据库中是否存在 |
request.session.keys() | 获取Session所有的键 |
request.session.values() | 获取Session所有的值 |
request.session.items() | 获取Session中所有键值对 |
request.session.iterkeys() | 获取Session所有键的可迭代对象 |
request.session.itervalues() | 获取Session中所有值的可迭代对象 |
request.session.iteritems() | 获取Session中所有键值对的可迭代对象 |
request.session.set_expiry(value) | 设置Session的过期时间。value参数说明如下列表。 |
- 整数:表示Session在指定秒数后过期。
- 0:表示Session在用户关闭浏览器后过期。
- datatime或timedelta:表示Session会在设置时间后失效。
- None:表示Session依赖于全局Session失效策略。