APIView的使用

Posted 周建豪的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-->分发到不同的函数然后执行

以上是关于APIView的使用的主要内容,如果未能解决你的问题,请参考以下文章

DRF之APIView源码解析

CVB生命周期(APIView源码解析)

APIView的使用

Django APIView源码解析

使用 APIView 接收参数

APIView