drf视图
发布时间:2020-12-20 12:55:10 所属栏目:Python 来源:网络整理
导读:不使用dif视图 # 在下面的这些代码中,存在很多代码重复 from rest_framework.views import APIView from app01.models import * from app01.mySer import * from django.http import JsonResponse class PublishView(APIView): def get(self,request): # 获
不使用dif视图 #在下面的这些代码中,存在很多代码重复 from rest_framework.views import APIView from app01.models import * from app01.mySer import * from django.http import JsonResponse class PublishView(APIView): def get(self,request): #获取所有数据 publish_list = Publish.objects.all() bs = PublishSerializers(publish_list,many=True) #PublishSerializers自己写的序列化 return JsonResponse(bs.data,safe=False) def post(self,request): #添加纪录 # 添加一条数据 print(request.data) bs = PublishSerializers(data=request.data) if bs.is_valid(): bs.save() # 生成记录 return JsonResponse(bs.data,safe=False) else: return JsonResponse(bs.errors,safe=False) class PublishDetailView(APIView): def get(self,request,pk): #获取单条数据 publish_obj = Publish.objects.filter(pk=pk).first() bs = PublishSerializers(publish_obj,many=False) return JsonResponse(bs.data,safe=False) def put(self,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,pk): #删除一条数据 Publish.objects.filter(pk=pk).delete() return JsonResponse("") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |