码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • django rest framework框架中用到的组件


    1、Authentication:认证类

    可以提供全局认证或者在具体的视图中通过设置authentication_classes类属性来设置来设置。

    2、Permissions:权限类

    在继承了APIView的类视图中定义permission_classes = [permissions.IsAuthenticated]

    AllowAny 允许所有用户
    IsAuthenticated 仅通过登录认证的用户
    IsAdminUser 仅管理员用户
    IsAuthenticatedOrReadOnly 已经登陆认证的用户可以对数据进行增删改操作,没有登陆认证的只能查看数据。

    3、Throttling:限流类

    可以对接口访问的频次进行限制,以减轻服务器压力,或者实现特定的业务。

    4、Filtering:过滤类

    对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。

    5、OrderingFilter:排序类

    对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序

    6、Pagination:分页类

    REST framework提供了分页的支持。我们可以在配置文件中设置全局的分页方式。也可通过自定义Pagination类(继承PageNumberPagination),来为视图添加不同分页行为。在视图中通过pagination_class属性来指明。

    7、Exceptions:异常处理类

    REST framework提供了默认常处理,我们也可以自定义的方式来编写异常处理函数。 在主应用的配置文件settings.py中声明自定义的异常处理。

    DRF中默认的异常

    ParseError 解析错误
    AuthenticationFailed 认证失败
    NotAuthenticated 尚未认证
    PermissionDenied 权限受限
    NotFound 未找到路由
    MethodNotAllowed 请求方式不支持
    NotAcceptable 要获取的数据格式不支持
    Throttled 超过限流次数
    ValidationError 校验失败

    8、自动生成接口文档:

    DRF 需要安装 coreapi库的支持。

    pip install coreapi
    
    • 1

    1) 设置接口文档访问路径

    REST_FRAMEWORK = { # 。。。 其他选项 # 接口文档 
    	'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema', }
    
    • 1
    • 2

    2)路由配置

    from rest_framework.documentation import include_docs_urls 
    urlpatterns = [ 
    	... 
    	path('docs/', include_docs_urls(title='站点页面标题')) 
    	]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3) 访问接口文档网页

    浏览器访问 127.0.0.1:8000/docs/,即可看到自动生成的接口文档。

    在这里插入图片描述

  • 相关阅读:
    Filebeat 如何保持文件状态?
    linux下载安装搭建、卸载FastDfs文件服务器、配置多存储路径(轮询、最大内存选择)、nginx反向代理实现图片预览、常用命令
    Learn Prompt- Midjourney案例:Logo设计
    springBoot_swagger、异步任务、邮件发送、定时任务、集成redis、分布式(Dubbo、Zookeeper)
    电子标准院工程师鲍薇:人工智能标准化引领产业发展
    【黄啊码】PHP压缩图片(简洁易懂版,不懂我下次不写)
    模拟卷Leetcode【普通】061. 旋转链表
    京东金融客户端用户触达方式的探索与实践
    Spring5入门到实战------1、Spring5框架概述、入门案例
    性能调优——小小的log大大的坑
  • 原文地址:https://blog.csdn.net/YZL40514131/article/details/125461473
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号