- 博客(9)
- 收藏
- 关注
原创 九,DRF JWT-RBAC
一 JWT认证在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也
2022-05-04 16:52:35 385
原创 八,DRF 自动生成接口文档
一 自动生成接口文档REST framework可以自动帮助我们生成接口文档。接口文档以网页的方式呈现。自动接口文档能生成的是继承自APIView及其子类的视图。1.1. 安装依赖REST framewrok生成接口文档需要coreapi库的支持。pip install coreapi1.2. 设置接口文档访问路径在总路由中添加接口文档路径。文档路由对应的视图配置为rest_framework.documentation.include_docs_urls,参数title为接口文档网站
2022-05-04 16:43:30 270
原创 七,DRF 过滤-排序-分页-异常处理
一 过滤Filtering对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。pip install django-filter在配置文件中增加过滤后端的设置:# 注册INSTALLED_APPS = [ ... 'django_filters', # 需要注册应用,]# 全局配,或者局部配REST_FRAMEWORK = { ... 'DEFAULT_FILTER_BACKENDS': ('django_fi
2022-05-04 16:39:53 370
原创 六,DRF 认证-权限-频率
为了方便接下来的学习,我们创建一个新的子应用 optpython manage.py startapp opt因为接下来的功能中需要使用到登陆功能,所以我们使用django内置admin站点并创建一个管理员.python3 manage.py makemigrationspython3 manage.py migratepython3 manage.py createsuperuser创建管理员以后,访问admin站点,先修改站点的语言配置settings.pyLANGUAGE_COD
2022-05-04 16:34:39 1107
原创 五,DRF 路由组件
一 路由Routers对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。REST framework提供了两个routerSimpleRouterDefaultRouter1.1 使用方法1) 创建router对象,并注册视图集,例如from rest_framework import routersrouter = routers.SimpleRouter()router.registe
2022-05-04 16:18:52 283
原创 四,DRF 视图组件
一 视图Django REST framwork 提供的视图的主要作用:控制序列化器的执行(检验、保存、转换数据)控制数据库查询的执行1.1 视图继承关系视图的方法与属性:1.2 视图REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写。1.2.1 2个视图基类1.2.1.1 APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。A
2022-05-04 16:11:18 369
原创 三,DRF 请求与响应
一 请求与响应1.1 RequestREST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSON、表单等)将请求数据进行parse解析,解析为类字典[QueryDict]对象保存到Request对象中。Request对象的数据
2022-05-04 15:56:38 538
原创 二,DRF 序列化组件
一 序列化器-Serializer作用:1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型3. 反序列化,完成数据校验功能1.1 定义序列化器Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。接下来,为了方便演示序列化器的使用,我们先创建一个新的
2022-05-04 15:47:00 729
原创 一,DRF入门规范
一 Web应用模式在开发Web应用中,有两种应用模式:1.1 前后端不分离1.2 前后端分离二 API接口为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点url:长得像返回数据的url链接https
2022-05-04 14:27:01 1235 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人