Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Django rest框架。如果用户存在,则返回True,否则返回False_Python 3.x_Django Models_Django Rest Framework - Fatal编程技术网

Python 3.x Django rest框架。如果用户存在,则返回True,否则返回False

Python 3.x Django rest框架。如果用户存在,则返回True,否则返回False,python-3.x,django-models,django-rest-framework,Python 3.x,Django Models,Django Rest Framework,需要执行简单的检查:如果用户存在,则返回True,如果不存在,则返回False。我正在尝试使用自定义json答案解决此问题,但不确定这是否是正确的处理方法。请帮帮我 我的序列化程序: User = get_user_model() Class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = (User.USERNAME_FIELD, ) 我的看

需要执行简单的检查:如果用户存在,则返回True,如果不存在,则返回False。我正在尝试使用自定义json答案解决此问题,但不确定这是否是正确的处理方法。请帮帮我

我的序列化程序:

User = get_user_model()

Class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = (User.USERNAME_FIELD, )
我的看法:

@api_view(['GET'])
def UserViewSet(self, request):
    if request.method == 'GET':
        try:
            user = User.objects.get(username=User.USERNAME_FIELD)
            if User.DoesNotExist:
                json = {}
                json['message']= 'False'
                return Response(json)
            else:
                json = {}
                json['message']= 'True'
                return Response(json)
不必使用UserViewSet和UserSerializer,您只需使用即可

class UserExistsView(APIView):

    def get(self, request, *args, **kwargs):
        # use this if username is in url kwargs
        username = self.kwargs.get('username') 

        # use this if username is being sent as a query parameter
        username = self.request.query_params.get('username')  

        try:
            user = User.objects.get(username=username) # retrieve the user using username
        except User.DoesNotExist:
            return Response(data={'message':False}) # return false as user does not exist
        else:
            return Response(data={'message':True}) # Otherwise, return True
不必使用UserViewSet和UserSerializer,您只需使用即可

class UserExistsView(APIView):

    def get(self, request, *args, **kwargs):
        # use this if username is in url kwargs
        username = self.kwargs.get('username') 

        # use this if username is being sent as a query parameter
        username = self.request.query_params.get('username')  

        try:
            user = User.objects.get(username=username) # retrieve the user using username
        except User.DoesNotExist:
            return Response(data={'message':False}) # return false as user does not exist
        else:
            return Response(data={'message':True}) # Otherwise, return True

请解释您试图在这一行User.objects.getusername=User.USERNAME\u字段中执行的操作。此外,您可以使用RetrieveAppView来确定对象是否存在。若返回404状态码,则表示用户不存在。否则,将返回200个状态代码尝试使用该行获取用户名,但此查询将始终为User.objects.getusername='field\u name'。这将如何检索预期的唯一用户?问题是,我应该在404或200个异常中插入True或False。请解释您在这一行中尝试执行的操作user.objects.getusername=user.USERNAME\u字段。此外,您可以使用RetrieveAppView来确定对象是否存在。若返回404状态码,则表示用户不存在。否则,将返回200个状态代码尝试使用该行获取用户名,但此查询将始终为User.objects.getusername='field\u name'。这将如何检索预期的唯一用户?问题是,我应该在404或200个异常中插入True或False。在这种情况下,查询应该是什么样子的?User.objects.getself.kwargs['username']?如何发送特定用户的用户名?它是在url kwargs中还是作为一个查询参数?我使用下一步构造返回一些过滤数据-def get_queryself:user=self.kwargs['username']返回user.objects.filter[username=user]使用2个选项更新ans以获取用户名,然后根据用户名执行查找。我认为这很旧…但我尝试了这一点,但使用Apisoup得到了空响应。我已经在这里问了这个问题。请帮助我在这种情况下查询应该是什么样子的?User.objects.getself.kwargs['username']?如何发送特定用户的用户名?它是在url kwargs中还是作为一个查询参数?我使用下一步构造返回一些过滤数据-def get_queryself:user=self.kwargs['username']返回user.objects.filter[username=user]使用2个选项更新ans以获取用户名,然后根据用户名执行查找。我认为这很旧…但我尝试了这一点,但使用Apisoup得到了空响应。我已经在这里问了这个问题。请帮忙