摘要: 一:数据库分类 数据库分为两类: 关系型数据库:以一条条记录的形式存储在表中的数据库称之为关系型数据库。例如:mysql,Oracle等。 非关系型数据库:没有表的概念,数据以key value 的形式存储的数据库称之为菲关系型数据库。例如:Redis,MongoDB等。Redis是存储在内存中的数 阅读全文
posted @ 2019-04-01 23:22 刘小鹿 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一:同源策略 同源策略(Same origin policy)是一种约定,是浏览器最核心也最基本的功能,如果缺少了同源策略,则浏览器的正常功能都可能会收到影响。web是构建在同源策略基础之上的,浏览器知识针对同源策略的一种实现。 请求的url地址必须与浏览器上的url处于同域上,也就是域名,端口,协 阅读全文
posted @ 2019-04-01 20:47 刘小鹿 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 一:缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增删改查,模板渲染,执行业务逻辑,最后生成用户看到的网页。 但是,当网站的用户访问量过大的时候,每一次的后台操作都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力。 缓存是将一些常用的数据保存内存或者memcac 阅读全文
posted @ 2019-04-01 20:28 刘小鹿 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一:版本控制 开发阶段,一套网站的接口可能不止一套,因此需要在客户端请求是明确版本,版本控制组件就是解决这个问题的。 二:drf内置的版本控制类 三:版本控制类的使用方式 局部使用:在视图类中配置(在需要使用版本控制的视图类中加入变量versioning_class = 版本控制的类) 全局使用:在 阅读全文
posted @ 2019-04-01 19:23 刘小鹿 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 一:简单分页 简单分页就是查看第n页,每页显示n条数据 使用配置文件 在settings.py中配置 views.py 自定义四个参数 二:偏移分页 三:CursorPagination(加密分页,只能看上一页和下一页,速度快) 四:响应器(不需要改) 响应回去的页面,数据格式是不同的 局部使用:在 阅读全文
posted @ 2019-04-01 18:56 刘小鹿 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一:频率组件的作用 我们在浏览网页的时候可能会发现一个功能点击多次之后,系统机会让你休息一会再点击,这其实就是频率组件控制,主要作用是限制用户在一定时间内提交的请求次数,减少服务器的压力。 二:自定义频率组件类 自定义频率组件的逻辑: myauth.py view.py 其余一致 结果1: 结果2: 阅读全文
posted @ 2019-04-01 18:37 刘小鹿 阅读(191) 评论(1) 推荐(1) 编辑
摘要: 一:权限组件的作用 不同的用户使用的功能是不同的,例如管理员和用户,我们可以对登录的用户进行权限的认证,来判断这个用户能不能使用这个功能。当然权限认证的前提是已经用户认证了,因此需要在最后一个用户认证类中返回认证成功的用户。 .models.py myserializer.py urls.py vi 阅读全文
posted @ 2019-04-01 17:26 刘小鹿 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一:认证组件的作用 在一个程序中,有一些功能需要登录之后才能使用,原生Django的auth钻进可以用来解决这个认证问题,drf框架中也有对应的认证组件来解决这个问题。 models.py myserializer.py 序列化 二:自定义登录验证组件 urls.py myauth.py组件 vie 阅读全文
posted @ 2019-04-01 17:15 刘小鹿 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 一:视图组件的作用 在每一个视图类中都写请求方法,并且书写逻辑,这样会大大增加开发时间,因此我们可以对这一类利用面向对象的封装来解决。 二:手动封装视图类 view.py urls.py 三:restframework视图组件之mixin类和generice类编写视图 本质就是上面的封装视图过程,在 阅读全文
posted @ 2019-04-01 17:00 刘小鹿 阅读(272) 评论(0) 推荐(0) 编辑