В django удаляются ли все данные сеанса, если пользователь выходит из системы? - PullRequest
0 голосов
/ 05 августа 2010

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

Если я установлю это значение через request.sessions и пользователь выйдет из системы, могу ли я получить его, если они войдут в систему позже?Все это предполагает, что мои сеансы обычно устаревают через 30 дней, если пользователь никогда не выходит из системы.

Размышляя над вышеуказанной проблемой, я решил сохранить данные в таблице, но все равно хотел бызнать ответ на выше для справки.Я также решил не использовать куки из-за ненадежности.

1 Ответ

1 голос
/ 05 августа 2010

Это будет зависеть от вашего бэкэнда сессии.Но бэкэнд по умолчанию (backends.db) действительно удаляет строку из таблицы сеансов при выходе из системы.

Я бы порекомендовал добавить данные в поле в профиле пользователя.Использование сеанса создаст проблемы, даже если вы не удалите данные.В следующий раз, когда пользователь войдет в систему, вы не будете знать, какой идентификатор сеанса он / она использовал в последний раз, и обычно у вас есть только идентификатор сеанса для поиска.Не идентификатор пользователя, поэтому вы можете получить все сеансы, принадлежащие конкретному пользователю.

...