Django Rest Api Framework的回应

时间:2019-03-01 07:03:50

标签: django django-models django-rest-framework django-views

我已经使用Django Rest Framework创建了许多API's列表,并且运行良好。但是我面临的问题是,成功执行这些API's时,我不会像Response那样得到status=true或任何成功执行的响应。 rest framework中是否有内置函数,或者如何获取成功消息。

# Add Trusty
class TrustyAddAPIView(generics.CreateAPIView):
    queryset = TrustyRequest.objects.all()
    serializer_class = serializers.TrustyAddSerialzer
    permission_classes = [IsAuthenticated]


# User Trusty Profile Update
class TrustyUserProfileUpdateAPIView(generics.RetrieveUpdateAPIView):
    queryset = User.objects.all()
    serializer_class = serializers.UserDetailSerialzer
    permission_classes = [IsAuthenticated]

2 个答案:

答案 0 :(得分:3)

您可以覆盖getpost方法,并以以下方式发送响应:

class UserList(generics.ListAPIView):
    queryset = User.objects.all()
    serializer_class = serializers.UserListSerialzer
    permission_classes = [IsAuthenticated]

    def list(self, request):
        # Note the use of `get_queryset()` instead of `self.queryset` 
        queryset = self.get_queryset()
        serializer = self.serializer_class(queryset, many=True)
        return Response(
                {
                    "result": serializer.data,
                    "message":"Testimonials Retrieved Successfully.",
                    "status" : True,
                }            
            )

答案 1 :(得分:2)

成功执行API后,您应该返回200响应。这样做是在django中完成的:

return Response(serializer.data, status=status.HTTP_200_OK)

详细了解HTTP status code