Do not use dif view
# In the following code, there are many code duplication from rest_framework.views Import APIView from app01.models Import * from app01.mySer Import * from django.utils.httpwrappers Import jsonResponse class PublishView (APIView): DEF GET (Self, Request): # get all data publish_list = Publish.objects.all () bs = PublishSerializers (publish_list, MANY = True) # PublishSerializers write their own serialization return jsonResponse (bs.data, Safe = False) DEFPOST (Self, Request): # Add Record # add a Data Print (request.data) BS = PublishSerializers (Data = request.data) IF bs.is_valid (): bs.save () # generates a recording return jsonResponse (BS. data, Safe = False) the else : return jsonResponse (bs.errors, Safe = False) class PublishDetailView (APIView): DEF GET (Self, Request, PK): # Get single data publish_obj = Publish.objects.filter (PK = PK ) .first () bs= PublishSerializers(publish_obj, many=False) return JsonResponse(bs.data,safe=False) def put(self, request, pk): #修改单条 publish_obj = Publish.objects.filter(pk=pk).first() bs = PublishSerializers(data=request.data, instance=publish_obj) if bs.is_valid(): bs.save() # update return JsonResponse(bs.data) else: return JsonResponse(bs.errors) def delete(self, request, pk): #删除一条数据 Publish.objects.filter(pk=pk).delete() return JsonResponse("")