Найти - Пользователи
Полная версия: Как определить онлайн ли юзер ?
Начало » Django » Как определить онлайн ли юзер ?
1
andreiru
Здравствуйте!

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

В модель юзер добавить поле 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 можно без труда определить онлайн или нет пользователь!

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

Если на оба вопроса ответы нет, то решение нормальное.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB