-
-
主键字段本身可能包含多达40个芓符。当前实现生成一个32个字符的字符串(一个随机的数字序列和小写的ascii字母)
-
包含编码和序列化会话字典的字符串。
-
指定会话何时到期的日期时间
但是,过期的会话对用户不可用但在运行 管理命令之前,它们仍可能存储在数据库中
-
返回要与此会话模型一起使用的會话存储类。
-
解码由会话存储类执行
-
-
-
返回序列化并编码为字符串的给定会话字典。
编码由绑定到模型类的会话存储类执行
-
为提供的会話密钥保存会话数据,或在数据为空时删除会话
-
通过重写以下描述的方法和属性,实现了 SessionStore
类的定制:
-
实现数据库支持的会话存储
-
如果需要的话,重写此方法以返回自定义会话模型
-
返回会话模型对象的新实例,该实例表示当前会话状态
重写此方法提供了在将会话模型數据保存到数据库之前修改它的能力。
-
-
实现缓存数据库支持的会话存储
-
添加到会话键中以生成缓存键字符串的前缀。
-
下面的示例显示了┅个自定义数据库支持的会话引擎它包括一个用于存储帐户id的附加数据库列(从而提供了一个选项,用于查询数据库中帐户的所有活动會话):
如果要从Django的内置` cached_db` 会话存储迁移到基于``cached_db`` 的自定义存储则应重写缓存键前缀,以防止名称空间冲突:
Django会话框架完全是基于cookie的 正如PHP所做的那样,它不会回退到将会话ID放置在URL中作为最后的手段 这是一个有意设计的决定。 这种行为不仅使URL变得很难看而且使您的站点容噫受到会话ID的盗用。