@Andrei1penguin1

Как получить доступ к сессии определенного пользователя?

Доброго времени суток, есть задача определить, находится ли пользователь на сайте или нет
При входе на сайт у пользователя создается сессия
Собственно и стоит задача: получить доступ к этой сессии через пользователя, но я не очень понимаю, как это можно сделать
В качестве альтернативы, наверное, можно всякий раз при входе на сайт и выходе с него менять у пользователя значение is_active на True или False, но я подозреваю, что это не лучшая идея
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Django работает по протоколу HTTP, а это протокол без состояния. Без WebSocket'ов или поллинга со стороны фронта вы никак не сможете достоверно определить находится ли пользователь на сайте.
Ответ написан
Andrei1penguin1 можно попробовать сделать что-то вроде этого, в модели пользователя создать поле "время последнего посещения", создать метод online там проверять это поле, если оно больше чем текущее время минус 5 минут, то пользователь онлайн. Это поле можно обновлять так, через middleware при каждом запросе обновлять это поле, а также разместить в html скрипт который будет с интервалов в 1 минусе слать на сервер запрос на какую-нибудь минимальную страницу, таким образом обновляя поле последнего посещения сайта
Ответ написан
@maksam07
Берете реализацию "пользователи онлайн" для любого ЯП (на пхп много вариантов) и запихиваете в джанго. Схема везде похожая
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы