目录
- 路飞学城之 drf
- DRF框架知识总览
- 二、内容大纲
- 三、内部类
- 四、内容大纲
- 五、内容大纲
- 六、内容大纲
- 七、内容大纲
- 八、复习
路飞学城之 drf
相关内容复习
"""
1)指令:
插值表达式:{
{ 变量|常量|简单表达式 }}
文本指令:v-text | v-html
事件指令:v-on:事件名 | @事件名
属性指令:v-bind:属性名 | :属性名
表单指令:v-model
条件指令:v-show | v-if | v-else-if | v-else
条件指令:v-for
2)实例成员
挂载点:el
数据: data
方法:methods
计算(方法属性):computed
监听:watch
标识符:delimites
过滤器:filters
属性:props
声明周期钩子:created...
3)vue项目
组件:结构 - template(一个根标签) | 逻辑 - script(export default) | 样式 - style(scoped)
组件交互:父传子 - 自定义属性 | 子传父 - 发送自定义事件($emit)
路由:
router-view:页面组件占位
router-link:标签跳转
$router:控制逻辑跳转
$route:控制路由数据
配置:path: '/books/detail/:pk' | path: '/books/detail'
自定义配置main.js:
import 'css文件路径'
import 别名 from 'js文件路径'
Vue.prototype.$名字 = 别名
import ElementUI from 'element-ui'
Vue.use(ElementUI)
import 'element-ui的全局css文件'
vue项目逻辑:
ant.js
var Ant = {
// ...
}
export default Ant
<script>
import Ant from 'ant.js文件路径'
export default {
data() {},
mounted() {
// Ant
}
}
</script>
"""
DRF框架知识总览
"""
1)接口(api):
什么是接口
接口文档
接口规范
2)FBV => CBV:Function|Class Base View
CBV的请求生命周期
CBV比FBV的优势
3)drf框架的基础试图类
APIView:请求模块、解析模块、渲染模块、响应模块、异常模块
4)drf核心组件
序列化组件:将后台的任何数据,进行序列化返回给前台;将前台的数据反序列化成后台model对象再入库
三大认证组件:认证组件、权限组件(RBAC)、频率组件
视图家族:View一系列组件
5)群查接口相关组件:
搜索、筛选、排序、分页
目的:
必须掌握:六大基础接口 - 单查、群查、单增、单局部改、单整体改、单删
一共十大接口 - 群增、群局部改、群整体改、群删
"""
接口
"""
接口概念:前台与后台进行信息交互的媒介 - url链接
接口组成:
url链接 - 长得像返回数据的url链接
请求方式 - get(查)、post(增)、put(整体改)、patch(局部改)、delete(删)
请求参数 - 拼接参数、数据包参数(urlencoded、form-data、json)
响应结果 - 响应的json数据
"""
开发阶段接口测试工具
"""
Postman:
官网下载、傻瓜式安装
"""
接口文档
"""
1)为什么要写接口文档
为什么要写接口:作为后台开发者,要将后台数据通过url链接反馈给前台
为什么要写文档:作为后台开发者,一定知道改url链接应该采用什么请求方式、提交哪些数据、返回了哪些结果
就像后台要将url链接改前台一样,前台知道应该访问什么链接,所以前台也应该知道采用什么请求方式,以及提交什么数据。
换而言之,接口文档是给 后台开发者、前台开发者、测试等各个项目相关项目组同时查看的,方便团队开发(规则是后台指定的,文档后台来写)
2)编写文档
i)采用word编写
ii)drf框架有插件,可以根据cbv的类快速生成文档
iii)采用写文档的平台
3)书写过程
i)先安装开发需要,完成接口的开发(设置后台url链接,设置请求方式、请求数据、响应结果)
ii)选择一个接口平台,将后台url链接,设置请求方式、请求数据、响应结果信息变成成文档即可
"""
接口规范
"""
1)为什么要指定接口规范
在前后台分离情况下,后台可以采用不同的后台运用,开发出类似的功能,所以前后台请求响应的规则是一致的;如果安装一套标准来编写接口,后台不管是什么语言,前台都可以采用一样的方式进行交互。反过来,后台也不需要管前台到底采用何种方式请求(页面、工具、代码)
2)通用的接口规范:Restful接口规范 - 规定了url如何编写;请求方式的含义;响应的数据规则
i)url编写
https协议 - 保证数据安全性
api字眼 - 标识操作的是数据
v1、v2字眼 - 数据的不同版本共存
资源复数 - 请求的数据称之为资源
拼接条件 - 过滤群查接口数据(https://api.baidu.com/books/?limit=3&ordering=-price)
ii)请求方式
/books/ - get - 群查
/books/(pk)/ - get - 单查
/books/ - post - 单增
/books/(pk)/ - put - 单整体改
/books/(pk)/ - patch - 单局部改
/books/(pk)/ - delete - 单删
iii)响应结果
网络状态码与状态信息:2xx | 3xx | 4xx | 5xx
数据状态码:前后台约定规则 - 0:成功 1:失败 2:成功无结果
数据状态信息:自定义成功失败的信息解释(英文)
数据本体:json数据
数据子资源:头像、视频等,用资源的url链接
"""
CVB vs FBV
"""
1)路由绑定
urlpatterns = [
# 1)项目启动,将test函数地址绑定给/test/路由
# 2)请求/test/访问后台,后台就会调用绑定的test函数
url(r'^test/$', views.test),
# 1)项目启动,将as_view()函数执行结果返回的view函数地址绑定给/test/路由
# 2)请求/test/访问后台,后台就会调用绑定的view函数
# 3)view函数会将请求交给dispatch方法完成分发,分发(反射)给视图类的不同方法处理请求
url(r'^test/$', views.Test.as_view()),
]
2)业务处理:
fbv没一个接口都会对应一个函数来响应请求
cbv可以将一个资源的增删改查所有操放在一个类中管理,在内部再分方法逐一处理 (高内聚低耦合:六个接口和一个类有关,但都能在类内部处理)
-------
三个View其实是同一个类
继承View的目的:
i)继承as_view()方法,完成路由的配置
ii)继承dispath()方法,完成请求分发
注:如果自己写as_view()和dispath()方法,自定义视图类可以不用继承任何类的
from django.http import JsonResponse
from django.views import View
from django.views.generic import View
from django.views.generic.base import View\
class Test(View):
def get(self, request, *args, **kwargs):
return JsonResponse('cbv ok', safe=False)
"""
pip安装源
介绍
"""
1、采用国内源,加速下载模块的速度
2、常用pip源:
-- 豆瓣:https://pypi.douban.com/simple
-- 阿里:https://mirrors.aliyun.com/pypi/simple
3、加速安装的命令:
-- >: pip install -i https://pypi.douban.com/simple 模块名
"""
永久配置安装源
Windows
"""
1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
3、新增 pip.ini 配置文件内容
"""