如何判断request.user是否是AnonymousUser?

时间:2018-01-12 09:51:22

标签: python django django-rest-framework

如何jundge request.user是Django中的AnonymousUser?

class UserListAPIView(ListAPIView):
    serializer_class = UserSerializer
    permission_classes = []
    queryset = User.objects.all()

    def get(self, request):

        if request.user:
            print("not AnonymousUser" ) # there I tried

        return Response(data="200", status=HTTP_200_OK)

您看,我尝试request.user检查用户是否存在,但失败了,请始终打印not AnonymousUser。 如何检查?

1 个答案:

答案 0 :(得分:3)

您应该使用用户的is_authenticated方法检查用户是否登录:

if request.user.is_authenticated():
    # Do something for logged-in users.
else:
    # Do something for anonymous users.

感谢@Alasdair,在Django v1.10版本之后,is_authenticated现在是一个属性。您可以轻松使用request.user.is_authenticated进行检查。