【发布时间】:2014-05-05 14:12:06
【问题描述】:
我只希望使用 POST 将数据发送到此 api 端点。有没有办法设置允许哪些请求方法?
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = FooSerializer
【问题讨论】:
标签: django django-rest-framework
我只希望使用 POST 将数据发送到此 api 端点。有没有办法设置允许哪些请求方法?
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = FooSerializer
【问题讨论】:
标签: django django-rest-framework
您需要整个ViewSet 还是普通的GenericView 就足够了?您可以使用CreateAPIView。
例子:
class FooCreate(generics.CreateAPIView):
Model = Foo
serializer_class = FooSerializer
编辑:
如果您确实需要使用ViewSet,您可以创建一个只处理post 请求的自定义路由器。文档here,包括一个只读(即get)示例。
【讨论】:
可能有更好的解决方案,但我通常做的是
if request.method != 'POST':
return Http404
但这似乎有你需要的答案: https://docs.djangoproject.com/en/dev/topics/http/decorators/
【讨论】: