金字塔会话对象在约20分钟后消失

时间:2015-09-08 00:33:38

标签: python pyramid

使用

request.session中设置变量
request.session['display_name'] = 'foo'

然后在我的应用中显示

request.session.display_name

整个应用程序都可以正常运行。如果单独放置大约20分钟,我就不能再打电话了。我明白了:

AttributeError: 'CookieSession' object has no attribute 'display_name'

了解金字塔sessions应该如何工作,它应该在浏览器范围的持续时间内存在。

为什么它会在一段时间后被删除?

1 个答案:

答案 0 :(得分:4)

请参阅timeout的定义:

  

会话超时之前的几秒钟不活动。如果为None,则cookie永不过期。此生命周期仅适用于cookie中的值。这意味着如果cookie由于较低的max_age而到期,则此设置无效。默认值:1200。

假设您未设置options = [ raw_input("enter an option") for _ in range(3) ] ,或者将max_age设置为1200或更高,则默认设置max_age(1200秒)将使Cookie失效经过的时间。

1200秒/ 60秒/分钟= 20分钟

......这与您的经历一致。

尝试将timeout设置为所需的持续时间(以秒为单位),或设置为timeout,以防止在浏览器打开时Cookie过期。