Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 24, 2015 12:31:40

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Как определить онлайн ли юзер ?

Здравствуйте!

Нужно вывести на сайте список онлайн пользователей, я думаю сделать это так:

В модель юзер добавить поле last_activity (datetime) и определить такую Middleware:

class UserOnlineMiddleware(object):
    def process_request(self, request):
        user = request.user
        if user.is_authenticated():
            user.last_activity = timezone.now()
            user.save(update_fields=['last_activity'])

а затем по last_activity можно без труда определить онлайн или нет пользователь!

Все правильно или можно сделать лучше ?)



Офлайн

#2 Фев. 24, 2015 13:23:01

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Как определить онлайн ли юзер ?

Одно из решение будет вставить js который будет посылать ajax запрос на сервер через какое-то время. Ваша задача ловить этот запрос и сделать вокруг этого считалку онлайновых пользователей.

Офлайн

#3 Фев. 24, 2015 15:47:21

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Как определить онлайн ли юзер ?

1) считать “Гостей” не нужно?
2) У пользователя 5 минут открыта страница, но он не запрашивает ничего с сайта - бэкэнд должен считать его отвалившимся или активным?

Если на оба вопроса ответы нет, то решение нормальное.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version