• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
近知
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  django rest framework

视图类和序列化类
 
过滤,排序,异常处理
摘要:过滤 drf自己原生的过滤不能根据外键字段来过滤,django_filter支持外键字段来过滤 1. # 安装django_filter 2. # 在项目配置文件的APP中注册 INSTALLED_APPS = [ ... 'django_filters', ] 3. # 全局配置或局部配置 RES 阅读全文
posted @ 2021-12-11 15:37 近知 阅读(89) 评论(0) 推荐(0)
频率
摘要:# 在项目配置文件中全局配置 REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': [ # 针对匿名用户,限制访问频率 'rest_framework.throttling.AnonRateThrottle', # 针对登录用户 'rest_framework 阅读全文
posted @ 2021-12-11 15:27 近知 阅读(91) 评论(0) 推荐(0)
jwt
摘要:新的认证方式,由三部分组成:头header,payload(一些用户信息),签名 主要是防篡改, """ 1)jwt分三段式:头.体.签名 (head.payload.sgin) 2)头和体是可逆加密,让服务器可以反解出user对象;签名是不可逆加密,保证整个token的安全性 3)头体签名三部分, 阅读全文
posted @ 2021-12-11 14:31 近知 阅读(146) 评论(0) 推荐(0)
认证
摘要:认证的实现 写一个类,继承BaseAuthentication,也可以不继承这个类,重写authenticate方法,认证的逻辑写在里面,认证通过,返回两个值,一个值是user(可以自己生成,也可以去查数据库获取),最终给了Request对象,认证失败,抛异常APIException(它是父类)或者 阅读全文
posted @ 2021-12-11 10:10 近知 阅读(206) 评论(0) 推荐(0)
视图集
摘要:视图集 ModelViewSet继承了5个视图扩展类和GenericViewSet class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.Destr 阅读全文
posted @ 2021-12-10 16:28 近知 阅读(35) 评论(0) 推荐(0)
Request对象和Response对象
摘要:Request里面有_authenticate方法,user,auth,data这几个方法被装饰成了属性,当取前两个属性的值的时候,如果有这个属性,就直接返回它的值 self._user self._auth,如果没有这个属性,就调用_authenticate方法,源码参见: https://www 阅读全文
posted @ 2021-12-10 16:24 近知 阅读(67) 评论(0) 推荐(0)
APIView源码分析
摘要:from rest_framework.views import APIView class APIView(View): ... @classmethod def as_view(cls, **initkwargs): ... # super方法调用父类(也就是View)的as_view方法,这个 阅读全文
posted @ 2021-12-10 16:21 近知 阅读(63) 评论(0) 推荐(0)
BaseSerializer部分源码
摘要:修改数据的过程 调用序列化对象的save方法:book_ser.save(),通过属性查找,找到了BaseSerializer里面的save方法 在BookSerializer类里面重写它的父类Serializer的父类BaseSerializer的update方法,在update方法中调用模型类对 阅读全文
posted @ 2021-12-09 20:54 近知 阅读(124) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3