如何将 http 方法限制为 Django REST api

M H*_*ari 3 python django django-models django-class-based-views django-rest-framework

如何将基于函数的视图中的api_view装饰器更改为 基于类的视图?我的要求是,我想将 GET、POST、PUT 等 HTTP 访问方法限制为特定 API

@api_view(['GET', 'POST'])
def hello_world(request):
    if request.method == 'POST':
        return Response({"message": "Got some data!", "data": request.data})
    return Response({"message": "Hello, world!"})
Run Code Online (Sandbox Code Playgroud)

希望有人知道答案......

小智 6

您可以http_method_names如下使用,并希望您使用ModelViewSet类。

class UserView(viewsets.ModelViewSet):
    queryset = UserModel.objects.all()
    serializer_class = UserSerializer
    http_method_names = ['get']
Run Code Online (Sandbox Code Playgroud)