django-rest-framework

2018-12-11 09:05:14来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

源码繁琐,多说无益,耐心细读官方文档:

https://www.django-rest-framework.org/

 

个人总结:

 

REST是一种软件架构设计风格,不是标准,也不是具体的技术实现,只是提供了一组设计原则和约束条件。

DRF(Django RestFramework)是一套基于Django开发的、帮助我们更好的设计符合REST规范的Web应用的一个Django App,所以,本质上,它是一个Django App。

安装: (确定Django已经安装)

   >>> pip install djangorestframework

 

 

1 APIView 

  首先需要了解django中views.View类及其相关流程,看如下关系图(最好看源码):

 

  DRF APIView请求流程:

 

 

 

  DRF对django视图配置流程图(个人画)

 

 

2 解析器组件 (用来解析数据的请求的组件)

  Django并不能处理请求协议为application/json编码协议的数据

  注意: DRF解析器会封装到View中的parsers内,在视图函数被调用时,会传入request,通过request.data拿到数据才进行解析 ,即解析器解析是在request对象传入后.

  解析器组件流程图:

 

 

//解析器的使用方式:

    //1,导入模块 views.py
        from rest_framwork.views import APIView
    
    //2, 继承APIView
        class BookView(APIView):
            def get(self, request):
                pass

    //3, url.py
        from django.urls import path, include, re_path
        from classbasedview import views
        urlpatterns = [
            re_path('login/$', views.LoginView.as_view()),
        ]


    //4, def post(self, request):
            origin_data = request.data
                ...
                return HttpResponse({})
                   

 

  试用工具: postman---通过postman来模拟用户请求,不再需要使用浏览器来发送请求.(直接在官网下载即可)


3 序列化组件 


4 认证组件
5 权限组件 
6 频率组件
7 url控制器组件
8 分页器组件
9 响应器组件

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:day 14 - 2 生成器练习

下一篇:python压平嵌套列表