DRF
序列化
将 queryset,instance等类型转换为json、xml等前端可以接收的数据类型
举例:
反序列化则是将前端返回的数据类型转换成后台可以进行orm映射等操作的数据类型
Django自带的序列化器:
serizlizers.serialize(format,queryset,fields=(""))
#前者为要转换成的类型,fields为需要转换的字段,可不填
DRF序列化器
作用
模型类的序列化步骤:
在应用下建立一个serializer.py文件
对于返回的结果带上url的api,继承自(为什么带url,因为restful api规范中规定的)
DRF视图和路由
1、函数式编程 FBV
利用装饰器,取消csrf限制
2、Django CBV编写API接口
第一种装饰器方式,装饰post方法
第二种装饰器方法,装饰类,需要导入
由请求响应源决定,先是dispatch,所以name不是post
3、DRF函数式编程FBV
----------------------------------------------------------------------------------------------------------------------
4、DRF 类视图函数 cbv
5、DRF中通用类视图的开发 GenericAPIView
封装了常用的增删改查以及组合操作的api
6、DRF的视图集viewsets
视图集的路径写法1
方法2:
DRF认证、权限、限流
认证
用户密码认证、session、token。
根据配置的顺序进行认证
Basic认证失败会在响应头中添加
认证成功会将
前者设置成Django User类的对象,后者为none
函数视图用装饰器来进行局部认证配置@authentication_classes()
Token讲解,装饰器的方法使用token认证
权限
函数装饰器
@permission_classes()
permission.SAFE_METHODS安全的权限