上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页
摘要: drf的使用及源码流程 1.drf(前戏) 2.drf(一)restful规范 3.drf(二)认证 4.drf(三)权限控制 5.drf(四)频率与节流 6.drf(五)版本控制 7.drf(六)解析器 8.drf(七)序列化 9.drf(八)分页 10.drf(九)视图 11.drf(十)路由与 阅读全文
posted @ 2022-04-12 22:37 紫青宝剑 阅读(119) 评论(0) 推荐(0)
摘要: drf(十二)解析drf通过csrf验证 问题引出:django 网站中的发送 post 请求时会被加密,如果不设置会无法请求。 1.什么是csrf 跨站请求伪造(CSRF)与跨站请求脚本正好相反。跨站请求脚本的问题在于,客户端信任服务器端发送的数据。跨站请求伪造的问题在于,服务器信任来自客户端的数 阅读全文
posted @ 2022-04-12 22:04 紫青宝剑 阅读(731) 评论(0) 推荐(0)
摘要: JWT 介绍: # jwt 一般用于用户认证(前后端分离,微信小程序,uniapp)的开发 json web token 认证流程。 1. 区别 传统认证 用户登录,服务端返回token,并将token保存在服务端 以后用户再来访问,需要携带token,服务端获取token后,再去数据库中获取tok 阅读全文
posted @ 2022-04-12 17:23 紫青宝剑 阅读(1250) 评论(0) 推荐(0)
摘要: drf(十)路由与渲染器 1.路由系统 1.1 自定义路由 # http://127.0.0.1:8000/api/v1/v1/?format=json # 以json的形式进行渲染 url(r'^(?P<version>[v1|v2]+)/v1/$', views.View1View.as_vie 阅读全文
posted @ 2022-04-11 14:51 紫青宝剑 阅读(82) 评论(0) 推荐(0)
摘要: drf(九)—视图 说明:drf 的开发一般使用 CBV 进行开发,Django 的原生视图类是 View 类,drf 中使用较普通的是APIView。 1.GenericAPIView 该类继承于APIView,只是封装了一些调用方法,完成我们的常用操作。 使用方式 class View1View 阅读全文
posted @ 2022-04-11 14:12 紫青宝剑 阅读(181) 评论(0) 推荐(0)
摘要: drf(八)—分页 说明:分页的原理与数据库中的 limit 截取相关,也涉及limit offset的使用,内部原理相似,但是rest_framework中封装了应用函数。 分页基类 class BasePagination: display_page_controls = False def p 阅读全文
posted @ 2022-04-10 19:12 紫青宝剑 阅读(164) 评论(0) 推荐(0)
摘要: drf(七)—序列化 说明:由于序列化涉及内容较多且关系到数据库(ORM),本次先说明使用方式,随后再进行部分源码的剖析; 1. 简单使用 1.1 Serializer使用 # 编写序列化类 class RoleSerializer(serializers.Serializer): # 其中的变量名 阅读全文
posted @ 2022-04-10 12:05 紫青宝剑 阅读(334) 评论(0) 推荐(0)
摘要: drf(六)—解析器 问题引出:请求头一般都会有多种的形式。最常见的是json形式,和form-data。其中json是最常见的形式。 解析器,一般用来解析用户发送过来的数据; 1.请求头要求 # django:request.POST/ request.body # Content-Type: a 阅读全文
posted @ 2022-04-08 16:48 紫青宝剑 阅读(132) 评论(0) 推荐(0)
摘要: drf(五)—版本控制 1.源码流程 与前几节的介绍相同源码入口依旧为dispatch()和inital(); def initial(self, request, *args, **kwargs): self.format_kwarg = self.get_format_suffix(**kwar 阅读全文
posted @ 2022-04-07 21:52 紫青宝剑 阅读(102) 评论(0) 推荐(0)
摘要: drf(四)访问频率与节流 问题引出:网站一般都存在爬虫机制,频率控制就是一种,如果一个IP或者用户在短时间内发起了多次请求显然不是正常的应用请求,此时应该加以访问频率的控制; 1.访问频率源码流程 与前几节的介绍相同源码入口依旧为dispatch()和inital(); def initial(s 阅读全文
posted @ 2022-04-07 16:24 紫青宝剑 阅读(117) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页