Как мне установить, что сессия истекает в течение 4 минут? - PullRequest
3 голосов
/ 06 января 2011

Предположим, я делаю это:

request.session['x'] = 33

Как сделать так, чтобы эта переменная сеанса истекала через 4 минуты? Только эта переменная !! Я не хочу, чтобы срок действия всех сессий истек.

Если это невозможно сделать, есть ли функция, которая может отслеживать это? (функция, которая сама использует сеансы для подсчета?)

Ответы [ 3 ]

3 голосов
/ 06 января 2011

Вам придется самостоятельно отслеживать переменную возраста сессии. В реальном коде 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 голос
/ 06 января 2011

Вы не можете автоматически удалить одну переменную в сеансе.

Вместо этого вы можете сохранить эту переменную в своем собственном файле cookie, для которого вы можете установить четырехминутный срок действия. См. документацию по настройке файлов cookie .

.
0 голосов
/ 06 января 2011
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 это не питон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...