使用
在request.session
中设置变量
request.session['display_name'] = 'foo'
然后在我的应用中显示
request.session.display_name
整个应用程序都可以正常运行。如果单独放置大约20分钟,我就不能再打电话了。我明白了:
AttributeError: 'CookieSession' object has no attribute 'display_name'
了解金字塔sessions应该如何工作,它应该在浏览器范围的持续时间内存在。
为什么它会在一段时间后被删除?
答案 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过期。