Как использовать таймаут сессии в django rest view?
Я реализую представление для игры, используя APIView в Django REST. Я очень новичок в Django и никогда не делал этого раньше, поэтому я не уверен, как это реализовать.
Основная идея заключается в том, что игра длится всего 5 минут. Я отправляю пользователю ресурс и создаю объект сессии. Это представление. должно быть недоступно через 5 минут. Существует ли такая вещь, как таймаут представления?
Будет ли тогда таймаут сессии работать и для запроса post или мне нужно реализовать его и там?
Вот мое мнение:
Прокомментированный код в конце - это то, что я думал сделать. Могу ли я вообще сделать это непосредственно в представлении? Как еще я могу это сделать и протестировать?
views.py
class GameView(APIView):
"""
API View that retrieves the game,
retrieves an game round as well as a random resource per round
allows users to post tags that are verified and saved accordingly to either the Tag or Tagging table
"""
def get(self, request, *args, **kwargs):
current_score = 0
if not isinstance(request.user, CustomUser):
current_user_id = 1
else:
current_user_id = request.user.pk
random_resource = Resource.objects.all().order_by('?').first()
resource_serializer = ResourceSerializer(random_resource)
gameround = Gameround.objects.create(user_id=current_user_id,
gamesession=gamesession,
created=datetime.now(),
score=current_score)
gameround_serializer = GameroundSerializer(gameround)
return Response({'resource': resource_serializer.data,
'gameround': gameround_serializer.data,
})
# TODO: handle timeout after 5 min!
# if :
# return Response({'resource': resource_serializer.data, 'gameround': gameround_serializer.data,})
# else:
# return Response(status=status.HTTP_408_REQUEST_TIMEOUT)
* Тестирование закомментированного кода в Postman всегда приводит к 408_request_timeout.