DRF
文章平均质量分 92
0Jchen
人生都是大写的失败,但不妨碍我继续前行
展开
-
DRF从入门到精通九(权限控制)
ABAC(Attribute-Based Access Control,基于属性的访问控制),又称为PBAC(Policy-Based Access Control,基于策略的访问控制),CBAC(Claims-Based Access Control,基于声明的访问控制)。)在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。将用户与角色对接,然后角色与对象的权限对接。原创 2024-01-04 21:17:20 · 1004 阅读 · 0 评论 -
DRF从入门到精通八(Simplejwt快速使用、定制返回格式、Simplejwt默认配置、多方式登录、自定义表签发token、编写认证类)
此时直接访问即可,它都帮我们写好了,在请求体中携带刚刚创建的超级用户的账号密码就会返回token(因为是simplejwt它是双Token认证),如果是的话才会获取空格后面的token值来进行校验,所以我们后续会重写一些方法,不需要遵守一些不必要的规则。我们定义了一个book视图类,它只允许访问时在请求头里面携带了合法的token值才能通过认证。,因为在源码内部获取校验token值前,会先通过空格进行分隔一下,第一个值是否为。携带登录后,服务端响应给我们的token值来访问,token值的开头必须是。原创 2024-01-03 22:21:04 · 1435 阅读 · 0 评论 -
DRF从入门到精通七(频率源码分析、接口文档、JWT介绍、构成原理、Base64编码与解码、jwt的开发重点)
从最开始的DRF知识介绍到现在,我们也知道频率组件是在APIView类源码中的dispatch方法里面执行了三大认证,这三大认证也是在视图类方法之前就执行了。,本质都是差不多,都是重写一些方法,而。频率类,所以这里我就直接看。中的频率源码知道,继承。,它的源码中就是继承了。原创 2024-01-02 19:24:07 · 439 阅读 · 0 评论 -
DRF从入门到精通六(排序组件、过滤组件、分页组件、异常处理、排序过滤源码分析、异常处理源码分析)
drf内置了三个分页器,对应三种分页方式,内置的分页类不能直接使用,需要继承,定制一些参数后才能使用。可以看到我们需要显示的是6条数据,而后端只响应了5条,这是因为max_page_size属性值的作用:限制了客户端手动获取数据时最大返回的数据条数。继承APIView的是使用不了以上DRF提供的排序组件,需要自己写,自己从请求地址中取出排序规则,然后自己排序。偏移分页,该分页组件作用是:从哪一条数据之后开始显示,以及制定数据显示的条数。给限制了,所以后端只能返回2条数据,如果不使用。原创 2023-12-28 22:16:38 · 911 阅读 · 0 评论 -
DRF从入门到精通五(路由组件、认证组件、权限组件、频率组件及认证、权限源码分析)
在DRF中,我们要进行登录认证的话需要使用DRF内部的认证组件,为什么不用auth组件?,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。此时上面代码就可以自动生成路由了,完成了增、删、改、查(一条或多条数据)的接口了,但是不包括在视图集里面自定义的方法。在视图集中,如果想要让Router自动帮助我们为自定义的方法生成路由信息,需要使用。如果要给我们自定义的方法也加上路由,那么则需要使用action装饰器来声明。原创 2023-12-26 21:09:27 · 1329 阅读 · 0 评论 -
DRF从入门到精通四(视图基类、GenericAPIView的视图扩展类、视图子类、视图集父类、子类)
控制序列化器的执行(检验、保存、转换数据)控制数据库查询的执行虽说视图也可以基于FBV模式来进行开发,但是使用CBV能够让我们避免很多重复代码,类具备继承、封装、多态等等,而DRF也给我们提供了非常丰富的视图组件。原创 2023-12-25 21:42:44 · 111 阅读 · 0 评论 -
DRF从入门到精通三(反序列化数据校验源码分析、断言Assert、DRF之请求、响应、两个视图基类)
渲染器 用来根据请求投中的Accept接收数据类型声明 来自动转换响应数据到对应格式 如果前端请求中未进行Accept声明 则会采用默认方式处理响应数据。为了方便设置状态码,REST framewrok在rest_framework.status模块中提供了常用状态码常量。REST FrameWork传入视图的Request对象不再是Django默认的HttpRequest对象。使用顺序:视图类自身配置——>项目drf配置——>drf默认内置的配置。在视图类中写-----局部配置。原创 2023-12-22 21:32:29 · 181 阅读 · 0 评论 -
DRF从入门到精通二(Request源码分析、DRF之序列化、反序列化、反序列化校验、序列化器常用字段及参数、source、定制字段、保存数据)
1. 新的request跟之前的用法一模一样,如果新的request取不到,它使用__getattr__魔法方法去原生request中取。当然原生的也可以直接在新的request中拿到,request . _request 2. 新的request中多了data属性,request . data客户端提交的请求体中的数据,无论是什么编码都在request . data中 3. 其他的使用和原生的request一模一样。原创 2023-12-20 20:58:59 · 412 阅读 · 0 评论 -
DRF从入门到精通一(DRF介绍、API接口、接口测试工具、Restful规范、序列化反序列化、基于drf、原生编写接口,APIView源码分析)
大体流程就是:前端在编写完静态页面之后,需要发送给后端人员做二次处理,所有的html代码和数据在服务器拼接好,等前后端处理好模版之后在做整合,然后一次性将所有内容发送到客户端,浏览器执行代码,将内容呈现给客户。,后端人员向前端开放数据接口(路由),视图层不在直接返回给浏览器了,而是与前端做起了数据交互,实际上返回界面的还是前端,前端工作人员调用接口获取数据,从而将数据显示到页面。主要功能是发送http请求。Apifox也是一款接口调试工具,也是免费的可视化软件,相较而言我觉得是比Postman更好用一下。原创 2023-12-15 17:20:54 · 564 阅读 · 0 评论