zoukankan      html  css  js  c++  java
  • drf的CBV流程

    目录

      1、html常用标签:link、meta、div、span、b、i、a、img、ul、table、form
      
      2、css选择器,css三种布局
      	div .div #div
      	盒模型:margin
      	浮动布局:float
      	定位布局:position
      	
      3、js四种变量,js字符串、数组、对象的操作方法,js可变长参数
      	let var 没有关键字 const
      
      4、接口的四个核心部分:请求方式,请求地址,请求参数,响应结果
      	get 取 post 增
      	长得像返回数据的URL
      	拼接参数还是数据包参数:key-value
      	响应状态码,状态信息,数据
      
      5、接口工具:写接口文档的YApi平台,访问接口的Postman工具
      	接口文档:将接口的四个核心描述成文档
      	Postman工具:测试接口的请求响应
      
      6、restful接口规范:如何设计url,请求方式代表操作方式,网络状态码及其含义,响应结果
      	https://api.oldboy.com/v2/users/?limit=3&search=张
      	get post put(patch) delete
      	网络状态码:2xx 4xx 5xx
      	数据:{status,msg,results}
      
      
      7、基于原生django书写满足restful规范的接口:两个url 对应 一个视图类 完成 十大接口
      	/api/users/
      	/api/users/(?P<pk>d+)/
      	class User(View):
      		get|post|put|patch|delete方法
      
      8、CBV请求生命周期:as_view()完成路由匹配 => url请求会调用as_view()的返回值视图函数view => 调用dispatch()完成请求分发 => 视图类的具体视图方法处理请求 => 返回给前台
      
      9.
      	安装drf:pip install djangorestframework
      	视图类继承drf的APIView: from rest_framework.views import APIView
      	读懂drf的as_view()方法:返回视图函数view是,局部禁用了csrf认证 - csrf_exempt(view)
      	请求分发的dispatch(),
      		在分发执行视图方法前,完成了
      			二次封装request:self.initialize_request(request, *args, **kwargs)
      			三大认证:self.initial(request, *args, **kwargs)
      		在视图方法处理完请求后:
      			出现异常的处理:self.handle_exception(exc)
      			二次封装response:self.finalize_response(request, response, *args, **kwargs)
      			
      10、自己看drf源码入口:直接查看 rest_framework.view的APIView的dispatch方法
      
    • 相关阅读:
      Python pymysql
      Zk 集群概念
      k8s教程
      Python 经典类和新式类
      Python 私有属性
      Python 高级面向对象
      Python 面向对象5 多态
      MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
      MyBatis学习总结(七)——Mybatis缓存
      MyBatis学习总结(六)——调用存储过程
    • 原文地址:https://www.cnblogs.com/oxtime/p/11901627.html
    Copyright © 2011-2022 走看看