Я пытаюсь проверить и отобразить статус пользователя в сети с помощью 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
)