假设我这样做:
request.session['x'] = 33
如何让此会话变量在4分钟后到期?这个变量只!!我不希望所有会话都过期。
如果无法做到这一点,是否有可以跟踪它的功能? (一个使用会话本身来计算的函数?)
答案 0 :(得分:3)
您必须自己跟踪会话变量的年龄。在实际的Python代码中,它看起来像这样:
from datetime import datetime, timedelta
request.session['x'] = dict(dt=datetime.now(), value='something')
MAX_AGE = timedelta(seconds=240)
if ('x' in request.session and datetime.now() - request.session['x']['dt'] > MAX_AGE):
del request.session['x']
也可以将您的值存储在cookie中,具体取决于它的数据和大小。
答案 1 :(得分:1)
您无法自动使会话中的单个变量过期。
相反,您可以将该变量存储在自己的cookie中,您可以为其设置四分钟的到期时间。请参阅documentation on how to set cookies。
答案 2 :(得分:0)
request.session['x_settime'] = time x was set
if (request.session['x_settime'] is older than 4 minutes) {
delete request.session['x']
delete request.session['x_settime']
}
P.S。这不是python