drf组件是django中一个非常牛逼的组件,主要就是结合restful接口开发规范这是一种以资源为主的前后端分离架构的开发规范,js作为前端的请求者向后端获取数据展示到前端去使得前后端分离。前端获取后端提供的数据,dom操作实现页面布局,快速搭建网页,有强大的bootstap vue react jquery这些框架做有利的支撑根本还是由于ajax请求,特点:异步加载,局部刷新,什么叫做异步加载?其实就是请求之间独立的,没有关系,假如一个请求获取服务器数据需要花两秒,在这个时间间隔中相对于其他的请求不会出现等待的行为而是向多线程一样,直接分配各自的任务,这种异步的思想非常牛逼,就像是操作系统的多核优势。让我们可以快速加载所有的请求,这种请求也叫做xhr。这种就是ajax请求,将数据发到服务器获取改数据库的数据,然后展示页面。扯远了,我们继续说drf,它主要就是针对这种前后端分离,数据接口开发,后端只需要给前端数据即可完成功能,我们进一步的需要明白业务。drf使用流程,下载第三方模块,需要保证版本在django3以上,djangrestframework 需要下载pymysql mysql数据库作为数据持久化存储的容器,这里我就体会到,增删改查对于网站来说其实就是sql,sql这门结构化查询语言真的牛逼,不管是在大数据平台还是在网站开发,都被应用非常多。我们使用rest_frame这个app进行快速接口开发,主要就是完成增删改查查,全局和局部,资源一般是复数 api 资源复数 pk 我们就把接口拆分为获取全局数据,添加一条数据,通过pk实现修改一条数据,删除一条数据,查询一条数据,即可快速实现,真的哇牛逼 只需要编写几个地方的代码models serializers vies urls 接口开发时只视图需要继承Generxxx 定义一个全局的类变量querset serializer_class 即可 满足 然后这一套其实就是对之前view的封装,cbv源码也很简单,本质就是fbv 知只是通过view父类的一个dispatch方法进行视图分发获取对应请求的视图,然后自动执行该方法将数据给前端返回。 get 请求 直接查询即可 self.get_querset() 单个的模型类对象 self.get_object() 注意re_path 默认有名参数pk,self.serializer()快速获取序列化器,这个主要就是对数据进行一个数据校验,对于前端可以设置哪些数据不尽不进行传输 source用法,对于后端可以指定哪些数据不进行返回,序列化器类主要几个参数,fields model exclude 我们可以指定不同的数据进行返回哦,也可以限制返回参数的名,基于我们的source参数用法。序列化器掌握两种就好,一种是Serializers 另一种是ModelSerilizers 继承不同的父类,前者更加灵活,后者已经封装好了,帮我们定义好了序列化成员 和create update方法 这里有一个序列化对象.save方法,主要就是对于传入不同的参数做不同的事情,就是一个钩子函数,instance非常的关键。好了今日小结就这样。
Django DRF组件
最新推荐文章于 2024-08-24 11:00:49 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)