繁体   English   中英

"如何在 Django 休息视图中使用会话超时?"

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM