文章分类 - drf
摘要:什么是websocket Websocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议) 它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的 websocket是一个持久化的协议 websocket的原理 websocket约定了一
阅读全文
摘要:优化提升接口的性能 如何优化提升接口的性能问题,导致接口性能问题的原因千奇百怪,不同的项目不同的接口,原因可能也不一样。 本文总结了一些行之有效的,优化接口性能的办法。 优化索引 首先大家可能第一想到就是优化索引,没错,优化索引的成本是最小的。可以通过查看日志或监控平台自报告,查看某只接口用的sql
阅读全文
摘要:webserver端push之消息推送 HTML5新技术 H5的桌面通知Notification,弹框消息提醒 H5的web push,用户订阅了一个站点的web push服务后,即使用户关闭了浏览器,一旦站点主动发送推送消息,用户都能收到,只要你的电脑是开着的。这是目前谷歌和苹果在chrome和s
阅读全文
摘要:RBAC的介绍和使用 RBAC的定义 基于角色的访问控制(Role-Based Access Control) 权限与角色相关联,用户通过成为适当的角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予给用户,这样的权限设计的很清楚,管
阅读全文
摘要:Cookie,session,token介绍 token分为三段式: 第一段是header:公司信息,加密方式等 第二段是payload:真正的数据,存放用户信息,如:{'name':'xxx','id'='1'} 第三段是signature:签名,通过第一段和第二段,通过某种加密方式加密得到的,如
阅读全文
摘要:内置认证类、权限类、频率类 内置认证类 BasicAuthentication RemoteUserAuthentication SessionAuthentication session认证,建议自己写 如果前端带着cookie过来,领过session的中间件,如果登录了,在request.use
阅读全文
摘要:自定义频率类 from rest_framework.throttling import BaseThrottle class MyThrottle(BaseThrottle): VISIT_RECORD = {} # 存放用户访问记录{ip1:[时间1,时间2],ip2:[时间1,时间2],'19
阅读全文
摘要:权限类使用 之前学习了认证类的使用:校验用户是否登录,用token进行认证。 用户登录之后,某些接口可能只有超级管理员才能访问,普通用户不能访问 我们可以设置为出版社的所有接口,必须登录后访问,并且必须是超级管理员才能访问 使用步骤 写一个类,继承BasePermission 重写has_permi
阅读全文
摘要:自动生成路由 必须继承了ViewSetMixin以及子类的视图类才能自动生成路由 路由Routers 对于视图集ViewSet,我们除了可以自己动手指名请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息 rest_framework提供了两个router类
阅读全文
摘要:HTTP各个版本之间的区别 什么是Http协议 HTTP协议全程HyperText Transfer Protocol,中文名超文本传输协议。是互联网上应用最为广泛的一种网络协议。 HTTP是基于TCP/IP协议的应用层协议,不涉及数据包的传输,主要是规定了客户端和服务器之间的通信格式。默认使用80
阅读全文
摘要:# 两个视图基类 APIView GenericAPIView # 五个视图扩展类 ListModelMixin CreateModelMixin RetrieveModelMixin UpdateModelMixin DestroyModelMixin # 九个视图扩展子类,继承上面5个视图扩展类
阅读全文
摘要:两个视图基类 APIView APIView是restframework提供的所有视图的基类,继承自django的view父类。 APIView与View的不同之处在于: 传入到视图方法中的是restframework的request对象,而不是django的Httprequest对象 视图方法可以
阅读全文
摘要:drf的整体知识点 前后端开发模式 API接口、postman使用、序列化和反序列化、restful规范 drf就是django的第三方app,能够快速实现符合restful规范的接口 cbv的执行流程: 路由匹配成功后,执行对应的视图类(视图类.as_view()),也就是执行View的as_vi
阅读全文
摘要:序列化类常用字段类和字段参数 常用字段类 BooleanField BooleanField() NullBooleanField NullBooleanField() CharField CharField(max_length=None, min_length=None, allow_blank
阅读全文
摘要:APIView的基本使用 APIView是drf中views.py模块的一个类,它继承了django的View类,只能在django上使用 安装了drf后,我们再写类视图的时候,可以使用drf的APIView:继承APIView以及子类 class Books(APIView): def get(s
阅读全文
摘要:前后端开发模式 传统的开发模式 前端写好静态的HTML页面交付给后端开发。静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可。后端使用模板引擎去套模板,同时内嵌一些后端提供的模板变量和一些逻辑操作。然后前后端集成对接,遇到问题,前台返工,后台返工。然后在集成,直至集成成功。 这种模式的问
阅读全文