摘要: rest framework可以自动帮助生成接口文档 接口文档以网页的方式呈现 自动接口文档能生成的是继承自APIView及其子类的视图 1、安装依赖 rest framework生成接口文档需要coreapi库的支持 pip install coreapi 2、设置接口文档访问路径 在总路由中添加 阅读全文
posted @ 2022-12-12 17:37 ExpiredSaury 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 三种分页方式: PageNumberPagination LimitOffsetPagination CursorPagination #settings.py全局配置 REST_FRAMEWORK = { 'PAGE_SIZE': 2, } PageNumberPagination # urls. 阅读全文
posted @ 2022-12-12 17:35 ExpiredSaury 阅读(53) 评论(0) 推荐(0) 编辑
摘要: drf数据的增删改查 模型类 from django.db import models class BaseModel(models.Model): is_delete = models.BooleanField(default=False) # auto_now_add创建的时候,不需要手动插入时 阅读全文
posted @ 2022-12-12 17:34 ExpiredSaury 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 封装Response对象 #utils.py #自定制响应 from rest_framework.response import Response class CommonResponse(Response): def __init__(self, code=10, msg='成功', data= 阅读全文
posted @ 2022-12-12 17:32 ExpiredSaury 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 异常处理,统一接口 #全局配置 REST_FRAMEWORK = { 'EXCEPTION_HANDLER': 'app01.app_auth.my_exception_handler', } #统一接口的返回 #app_auth.py # 自定义异常处理的方法 from rest_framewor 阅读全文
posted @ 2022-12-12 17:31 ExpiredSaury 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 过滤组件 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-filter扩展来增强支持 pip install django-filter 在配置文件中添加过滤后端的设置 INSTALLED_APPS=[ 'django_filter',#需要注册应用 ] #全局配置,也可以局部配 阅读全文
posted @ 2022-12-12 17:30 ExpiredSaury 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 频率限制 可以对接口访问的频次进行限制,以减轻服务器压力 一般用于付费购买次数,投票等场景使用 1、内置的频率限制 未登录用户访问频次 全局使用:限制未登录用户1分钟访问五次 #settings.py REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': [' 阅读全文
posted @ 2022-12-12 17:29 ExpiredSaury 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 权限Permissions 权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。 在执行视图的dispatch方法前,会先进行视图访问权限的判断 在通过get_object()获取具体对象时,会进行模型对象访问权限的判断 区分不同的用户访问不同 的接口 1、源码分析 #APIView 》di 阅读全文
posted @ 2022-12-12 17:27 ExpiredSaury 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 认证Authentication 1、认证的写法 #认证的实现 -1.写一个类,继承BaseAuthentication,重写authenticate,认证的逻辑写在里面,返回两个值,一个值最终给了Request对象的user,,如果认证失败就抛异常:AuthenticationFailed -2. 阅读全文
posted @ 2022-12-12 17:26 ExpiredSaury 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 路由Routers 对于视图集ViewSet,除了可以自己手动指明请求方式与动作action之间,还可以使用Routers来快速实现路由信息 rest framework提供了两个router SimpleRouter DefaultRouter #1.在urls.py中配置 path('books 阅读全文
posted @ 2022-12-12 17:24 ExpiredSaury 阅读(18) 评论(0) 推荐(0) 编辑