APIView的使用

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-->分发到不同的函数然后执行

posted @ 2018-12-10 19:40  周建豪  阅读(745)  评论(0编辑  收藏  举报