2011-01-06 58 views
3

假如我這樣做:如何設置會話在4分鐘內過期?

request.session['x'] = 33 

如何讓我這個會話變量到期在4分鐘內?只有這個變量!我不希望所有會議都過期。

如果不能這樣做,是否有一個函數可以跟蹤它? (使用會話本身來計數的函數?)

回答

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中。

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'] 
} 

ps.s.這不是python

1

您不能在會話內自動過期單個變量。

相反,您可以將該變量存儲在它自己的cookie中,爲此可以設置四分鐘過期。請參閱documentation on how to set cookies