Как проверить статус пользователя онлайн и оффлайн - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь проверить и отобразить статус пользователя в сети с помощью django и django rest framework.

Я пробовал эту статью: Django - обнаружение, если пользователь в сети / офлайн Но не работал на APIview, работает только на представлениях с рендерингом и Httpresponse.

Обновлено

Вот код для класса промежуточного программного обеспечения

import datetime
from django.core.cache import cache
from django.conf import settings
from django.utils.deprecation import MiddlewareMixin


class ActiveUserMiddleware(MiddlewareMixin):

    def process_request(self, request):
        current_user = request.user
        if request.user.is_authenticated:
        now = datetime.datetime.now()
        cache.set('seen_%s' % (current_user.username), now, settings.USER_LASTSEEN_TIMEOUT)

Класс APIView ProfilePersonal (APIView) :mission_classes = (permissions.IsAuthenticated,)

serializer_class = UserProfileSerializer

def get(self):
    try:
        queryset = Account.objects.get()
    except Account.DoesNotExist:
        return Response(data={'non_field_errors': 'Request could not be validated.'},
                        status=status.HTTP_400_BAD_REQUEST)

    serializer_data = self.serializer_class(queryset)

    return Response(
        data=serializer_data,
        status=status.HTTP_200_OK
    )
...