drf-apiview解读系列一
Posted 开心的蛋黄派
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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很多元素都不用关注调用
以上是关于drf-apiview解读系列一的主要内容,如果未能解决你的问题,请参考以下文章
JEP解读与尝鲜系列4 - Java 16 中对于 Project Valhalla 的铺垫
bert系列一:《Attention is all you need》论文解读
题意解读+详细题解-Leecode 319. 灯泡开关——Leecode每日一题系列