[英]How to use session timeout in django rest view?
我正在使用 Django REST 的 APIView 实现游戏视图。 我对 Django 很陌生,以前从未这样做过,所以我不确定如何实现它。
主要思想是一场比赛只持续5分钟。 我正在向用户发送资源并创建会话对象。 这种看法。 5 分钟后应该不可用。 是否有视图超时之类的东西?
那么会话超时是否也适用于发布请求,还是我也需要在那里实现它?
这是我的看法:
最后注释掉的代码是我想要做的。 我什至可以直接在视图中执行此操作吗? 我还能如何做到这一点并进行测试?
视图.py<\/strong>
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.