Django-rest-frame基础应用个人理解

Django-rest-frame

主要作用一:序列化

序列化模型1:
HyperlinkedModelSerializer
序列化模型2:
Serializer
序列化模型3:
ModelSerializers
把数据库返回的记录进行序列化

主要作用二:Views视图使用简化

基础View:
APIView: 封装和重构request,response
Mixins
CreateModelMixin -> 增
ListModelMixin -> 查一个集合(queryset)
RetrieveModelMixin -> 查单个
UpdateModelMixin -> 改
DestroyModelMixin -> 删
APIView子类
GenericAPIView: 在APIVIew基础上,成为Mixins的工具箱般的存在
组合类
UpdateAPIView -> UpdateModelMixin + GenericAPIView
ListCreateAPIView -> ListModelMixin + CreateModelMixin + GenericAPIView
快速开发,对request的method进行控制

简略版执行流程

APIView提供了8大验证:authentication_classes(登陆验证),throttle_classes(节流控制),permission_classes(权限控制)等

  1. APIView的as_view
    对queryset做个判断是否为空,跳转到View.as_view
  2. View.as_view
    各种对参数进行判断,跳转到self.dispatch
  3. self.dispatch
    self是重点,dispatch在APIView中被重写,先执行initialize_request,然后initial,然后执行方法(get,post…),最后是response简单处理
  4. initialize_request
    对request进行初始化,添加属性
  5. initial
    执行验证:perform_authentication, check_permissions, check_throttles
  6. 执行方法
handler = getattr(self, request.method.lower(),self.http_method_not_allowed)
response = handler(request, *args, **kwargs)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值