【问题标题】:"Refresh" Django session variables to avoid session timeouts?“刷新” Django 会话变量以避免会话超时?
【发布时间】:2014-05-15 14:08:12
【问题描述】:

我有一个多页 Django 注册流程,用户在该流程中执行以下步骤:

  1. 创建帐户(用户名、密码)
  2. 创建个人资料
  3. 上传照片
  4. 查看和批准/更改个人资料和照片
  5. 将用户名和用户 ID 传递给支付处理器
  6. 从付款处理器接收“付款正常或付款不正常”信号
  7. 如果“支付成功”,则登录用户并显示网站的“主页”页面。

在上面的第 1 步中,用户 ID 和其他一些信息存储在会话中。然后在第 2 步到第 4 步中在必要时对其进行检查。用户 ID 和用户名也将在第 5 步中传递给支付处理器。我正在考虑将会话超时期限设置为 30 分钟或一个小时。这是我的问题。当用户获取上述每个页面时,我是否应该读取并重新分配会话变量以帮助用户避免会话超时? Django documentation 表示 Django 仅在会话被修改时保存会话(即,当任何字典值已被分配或删除时)。我在想,如果我在用户从一个页面移动到另一个页面时“刷新”用户会话,那么他们超时的可能性就会降低,从而体验到更顺畅的注册过程。

有什么建议吗?谢谢。

【问题讨论】:

    标签: django session django-views session-timeout


    【解决方案1】:

    SESSION_SAVE_EVERY_REQUEST 设置保存会话并随每个请求发送会话 cookie,有效地将会话转换为滑动到期会话(顺便说一句,这是您想要实现的目标的广泛名称)

    详情请参考session docs

    【讨论】:

      猜你喜欢
      • 2014-11-27
      • 2011-01-06
      • 2015-07-02
      • 1970-01-01
      • 2022-11-20
      • 2015-10-10
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多