我创建了一个可以处理POST和DELETE方法的视图
class MyView(APIView):
def valid_method(self,data):
method = self.request.method
if method == 'POST':
ser = self.PostSerializer(data=data)
elif method == 'DELETE':
ser = self.DeleteSerializer(data=data)
else:
raise MethodValidationError(errormessage)
return ser
def post(self, request):
ser = self.valid_method(dara = request.data)
other code
def delete(self, request):
ser = self.valid_method(dara = request.data)
other code
有没有更好的方法来实现MyView?我应该创建一个新的基础视图吗?或者有没有简单的方法在APIView中定义合法的HTTP方法
使用GenericAPIView(继承自APIView),它提供了
get_serializer_class
等方法,您可以在其中实现方法valid_method
中的逻辑示例:
相关问题 更多 >
编程相关推荐