Периодическая очистка переменной сеанса без очистки - PullRequest
1 голос
/ 28 августа 2011

В Django возможно ли периодически очищать переменную сеанса, не чистя весь сеанс?

Ответы [ 2 ]

0 голосов
/ 03 октября 2017

Два подхода

set_expiry время сеанса и его периодическое удаление может быть полезным

SESSION_COOKIE_AGE = 5 * 60 # Время истечения сессии (5 минут)

другой способ, как предложил Роб, - играть с данными сеанса на основе ключа сеанса.

from django.contrib.sessions.models import Session
from django.contrib.sessions.backends.db import SessionStore
sessionid = Session.objects.get(session_key=123f4b3106c740c1a54970a8b611111)
session_data = sessionid.get_decoded()
0 голосов
/ 28 августа 2011

В зависимости от менеджера сеансов это может быть возможно, но сложно.

Если вы используете сеансы с поддержкой базы данных, вы можете отсканировать таблицу, проанализировать закодированные данные base64 и удалить переменную, которую вы хотите очистить.

Если вы должны сделать это, я бы либо расширил систему сессий с помощью пользовательского мода, либо сохранил бы переменную независимо, где бы я мог легко ее сбросить.

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