APIView的使用
1.APIView的导入
1)安装:djangorestframework
2)在setting中INSTALLED_APPS中注册
'rest_framework'
2.APIView是基于cbv的
简单的使用
class BooksRestFramework(APIView):
def get(self,request):
books = models.Books.objects.all()
res = BookAll(instance=books,many=True)
return JsonResponse(res.data,safe=False)
def post(self,request):
data = request.data
res = models.Books.objects.create(name=data.get('name'),price=data.get('price'))
return JsonResponse({'status':'200'})
def put(self,request,id):
data = request.data
models.Books.objects.filter(id=id).update(name = data.get('name'), price = data.get('price'))
return JsonResponse({'status': '200'})
def delete(self,request,id):
data = request.data
models.Books.objects.filter(id=id).delete()
return JsonResponse({'status': '200'})
要点:
1.请求中body中的数据全部都封装到了data中(原POST,PUT,PATCH,DELETE中的数据全部都封装到了data中)
2.地址栏中的数据及GET中的数据还是要在GET中取
3.APIView重新封装了request,原来的request可以在_request中取出
3.APIView的执行流程
请求-->as_view-->view-->dispatch-->分发到不同的函数然后执行