vue部分
var 与let、const区别?
var es5
let const es6
const 常量 let 不能重复声明、局部作用域等。
箭头函数、单体函数
箭头函数 this指向的是父级
单体函数 this指向的当前对象
M-V-VM
M: model data里面的数据
v: view html里面替换显示的数据
VM: ViewModel vm对象
数据操作视图模板
常用的方法
v-if v-model v-for v-show v-on==@ v-bind==:
常用功能
过滤器,监听watch,
请求生命周期
created mouted
获取页面初始化数据的事件放置在created中。
组件关系需要三子
声子,用子,挂子
组件传值
父传子:
在子组件的props:["name",]
子传父:
利用this.$emit方法具体实现。
平行组件:
定义一个bus公交车(公共的vue对象),正在通过bus.$emit方法具体实现。
Vue-cli自动化工具
自动化工具,借助于这个工具可以自动给我们搭建成型的vue前端框架。
创建、启动前端项目命令
创建:vue init webpack myproject
启动:npm run dev
drf部分
前后端分离与未分离区别
未分离:
前端页面都是(大部分)通过后端模板语言渲染数据然后在呈现到浏览器。
开发效率低(前端人员与后端人员不能并发、或者并行)。
后端的比重比较大。
分离:前端使用ajax、axios向后端获取数据,后端利用restful标准构建接口。
...
什么是接口?
接口:api,后端按照一定规范restful去定义的抽象的类似于url的地址。
restful rpc 区别?
rpc:
**action=函数&参数1=xx&参数2=oo**
action=get_all_student¶ms=301&sex=1
**我们一说action就是调用函数名称的。**
**缺点:**接口多了,对应函数名和参数就多了,前端在请求api接口时,就会比较难找.容易出现重复的接口
**新手来了,没有看懂你之前写的函数,重新又写了一个函数**
restful规范构建常用接口类型?
请求方法 | 请求地址 | 后端操作 |
GET | /students | 获取所有学生 |
POST | /students | 增加学生 |
GET | /students/ | 获取编号为pk的学生 |
PUT | /students/ | 修改编号为pk的学生 |
DELETE | /students/ | 删除编号为pk的学生 |
满足restful的接口规范说出几条?
1. 带api的域名。
2. url的路径我们一般使用名词,尽量不用动词。
3. 用中划线替代下划线。
4. 响应信息中含有状态码。
5. 服务器返回的数据格式,应该尽量使用JSON,避免使用XML。
Django-Rest-framework 框架的优点?
Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST **framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。REST framework提供了一个API 的Web可视化界面来方便查看测试接口。**
序列化器的功能与作用?
1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串
2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型
3. 反序列化,完成数据校验功能
request请求
request.query_params 查询参数。
request.data post提交的参数
常用状态码。
pass
视图类
2个视图基类:
APIView
他继承的Django框架的View.在drf框架中,最顶层的基类,几乎没有封装现成的方法,需要自己构建逻辑处理最基本的5个接口,拓展性极强。(开发效率相对低)比较常用。
GenericAPIView(通用视图类)
他继承了APIVIew类,提供了两个属性三个方法,但是并没有减少重复的代码量。
queryset 指定数据集
serializer_class: 指定序列化器
self.get_serializer() 通过此方法获取序列化器
self.get_object() 通过此方法获取pk指定的单条记录。
self.get_queryset() 获取数据集
self.get_serializer_class() 通过判断指定不同的序列化器
5个视图扩展类
这5个视图扩展类,MiXin系列: ListModelMixin,CreateModelMixin, RetrieveModelMixin,UpdateModelMixin,destoryModelMixin,这组MiXin系列不能单独使用,必须与GenericAPIView配合使用,我们5种接口的代码:
self.list(request)
self.create(request)
self.retrieve(request,pk)
self.update(request,pk)
self.destory(request,pk)
GernericAPIView视图子类
提供了8个视图子类,我们自己不用在定义任何方法,这几个视图子类,定义了get、post、put等方法,这些方法里面自动调用self.list(),self.create,self.update等方法,我们只需定义两个静态属性queryset,serializer_class.
视图集基类ViewSet
ViewSet 这个类包含两个功能:
原来的5个接口方法需要两个类实现变成1个类实现。
可以自定义方法名,映射替换固定的get、post、put等方法。
并且ViewSet可以配合GenericAPIView视图子类使用。
GenericViewSet
除去ViewSet提供的功能之外,只要配合Mixin系列,我们直接在类中两个静态属性queryset,serializer_class即可,不需要自己在定义任何方法。
ModelViewSet
这个类是最底层的类,除去上面的所有功能,我们直接继承ModelViewSet无需继承Mixin系列,直接在类中两个静态属性queryset,serializer_class即可,不需要自己在定义任何方法。
drf配置的功能组件?
认证、权限、限流、过滤、排序、分页等等。
Xadmin的功能以及作用?
pass
git的常用命令
pass
redis
缓存数据库,内存级别,key-value形式。
5种数据类型:string list hash set 有序set.
备份,哨兵机制,主从复制。
项目:
1. 项目描述
2.
分类、课程、章节、课时、老师
价格策略。
优惠策略。
3. 亮点,自定制认证、Celery异步、一个接口实现筛选、排序等功能,购物车设计,数据库中逆范式设计、事务,支付宝的流程,优惠策略的设计与实现。项目部署。
4. jwt机制。组成:三部分组成。
flask的基本功能。
蓝图、钩子函数、等等。
微信小程序项目
pass
mini教务。
启嘉网
运维开发的项目。
简单的描述出来,你负责的业务,用到的知识点。