• drf-apiview解读系列一


    APIView的详细解读
    一 包含属性
    1 renderer_class 渲染类
    2 parser_class 解析类
    3 authentication_class 认证类
    4 throttle_class 频率控制类
    5 permission_class 权限控制类
    6 context_neg_class 内容过滤类
    7 meta_data_class 元信息类
    8 version_class 版本控制类
    二 类设置(setting.py)
    1 在配置文件中的default可以看到这些类 例如 rest_framework.parser_class.method此种
    2 在配置稳重 通过 rest_framework={} 的设置可以手动将类载入全局
    示例
    REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
    'mysql_web.utils.permissions.MyPermission'
    ),
    三 核心函数
    1 as_view() dispatch()
    2 APIVIew调用父类的as_view()函数,然后 重写了dispatch方法
    3 dispatch方法
    1 调用父类的__init__函数,然后将request变为私有属性_request,然后将其他功能进行封装,构建了自己的独特request
    1 request._request 原本request属性
    2 request.data.get('key') 表单数据 不加get代表表单全部数据
    3 request.user 访问用户属性
    4 request.auth 访问权限令牌(token)
    5 request.META HTTP访问的header全部信息
    6 request.query_params url拼接的元素
    2 检测三要素( 登录权限,使用权限,频率权限)
    3 分发http方法
    四 补充
    由于采用了JWT组件进行认证登录和权限控制,所以其中request很多元素都不用关注调用
  • 相关阅读:
    【转】Visual studio 快捷键大全
    C++ 中的权限控制
    论C++11 中vector的N种遍历方法
    c++ 模板仿函数初探
    OBS (open boardcast server)结构分析
    OpenCV学习笔记:opencv_core模块
    [转]C++ new操作符详解
    进程已经被attach debug,如何解除其debug权限?
    dll 在进程中怎么区分的
    树状数组学习笔记
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/12642198.html
Copyright © 2020-2023  润新知