我有一个多页Django注册过程,用户可以在其中执行以下步骤:
在上面的步骤1中,用户的ID和一些其他信息存储在会话中。然后在步骤2到4中必要时检查它们。用户ID和用户名也将在步骤5中传递给支付处理器。我正在考虑将会话超时时间设置为30分钟或1小时。这是我的问题。当用户获取上述每个页面时,我应该阅读并重新分配会话变量,以帮助用户避免会话超时吗? Django documentation表示Django仅在会话被修改时保存会话(即,当已经分配或删除任何字典值时)。我想如果我在用户的会话从一个页面移动到另一个页面时“刷新”该会话,那么它们将不太可能被超时,从而将体验更顺畅的注册过程。
有什么建议吗?感谢。
答案 0 :(得分:6)
有SESSION_SAVE_EVERY_REQUEST
设置可以保存会话并为每个请求发送会话cookie,有效地将会话转换为滑动到期会话(顺便说一下,它是您想要实现的广泛名称)
有关详细信息,请参阅session docs