如今新一代web应用都开始采用先后端分离的方式来进行,淘汰了之前的服务器端渲染的方式。而实现先后端分离是经过Django REST framework(如下简称 DRF)来实现的。他是Django框架的一个扩展,提供了便捷的 REST API 开发框架。先后端分离方式有许多好处,好比:web
1.1 能够先后端并行开发,提升开发效率django
1.2 页面都在客户端进行渲染,提升了渲染速度,减少了服务器的压力后端
1.3 一套api提供给多个客户端使用,并且不限制客户端的类型(web,app都可)api
提到先后端分离必然会提到restful,目标这是最流行的接口规范,愈来愈多的大型应用开始使用restful规范,restful强调一种无状态,资源的方式在django中很著名的一个框架是drf,帮咱们减小了不少工做量。 网上关于 REST 的讨论不少,在一些细节的地方却常常稍有出入,不过大致思想都是充分利用 HTTP/HTTPS 协议的特色,好比 HTTP 方法、header 信息、HATEOAS,直接面向资源进行操做。服务器
Django REST framework 框架是一个用于构建Web API 的强大的工具。一般简称为DRF框架 或 REST framework。DRF框架是创建在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。restful
drf中有封装了十大组件,分别是序列化组件,视图组件,认证组件,权限组件,频率组件,解析器,分页器,响应器,url控制器,版本控制。这十大组件,可以很好的帮助开发人员提高开发效率。app
把一些经常使用的方法从新封装了,如GET方法封装成了query_params,并假装成属性。框架
其实drf源码的执行流程和django中的view源码执行流程的区别关键是在于dispatch方法中执行的功能不一样,drf是在dispatch中对原生的request进行了封装,而后经过initial()方法来执行认证,权限,频率的控制。后续会更新这三大组件的源码分析,敬请期待!!!!前后端分离