不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • python基础

  • python模块

  • django

    • 01_Django基础

    • 02_Model数据库操作

    • 03_DRF框架

      • 01.web开发两种模式
      • 02.Restful风格
      • 03.DRF框架作用
        • 01.DRF核心任务
          • 1.1 DRF核心任务
          • 1.2 序列化
          • 1.3 反序列化
        • 02.Django REST framework 简介
          • 2.1 作用
          • 2.2 特点
      • 04.环境安装与使用
      • 05.Serializer
      • 06.ModelSerializer
      • 07.APIView
      • 08.初始化项目结构
      • 09.ModelViewSet
    • 04_部署

  • flask

  • SYL

  • Celery

  • 微服务

  • python
  • django
  • 03_DRF框架
xiaonaiqiang
2021-02-17
目录

03.DRF框架作用

# 01.DRF核心任务

# 1.1 DRF核心任务

  • 序列化:将对象转换为字典或者json的过程。

  • 反序列化:将字典或json转换保存到对象中的过程。

  • RestAPI核心工作:

    • 将数据库中的数据序列化为前端所需的格式,并进行返回。
    • 将前端传递的数据反序列化保存为模型类对象,并保存到数据库。
  • 在开发REST API接口时,视图中主要做了三件事:

    • ① 将请求的数据(如:JSON格式)转换为模型类对象
    • ② 操作数据库
    • ③ 将模型类对象转换为响应的数据(如:JSON格式)

# 1.2 序列化

  • 广义的概念:将一种数据转换为另外一种格式的过程。

  • 本课程特指:将对象转换为字典或json的过程。

# 1.3 反序列化

  • 广义的概念:和序列化相反的转换过程。

  • 本课程特指:将字典或json转换为对象的过程。

# 02.Django REST framework 简介

# 2.1 作用

  • Django REST framework可以帮助我们大大提高REST API的开发速度。

  • 在序列化与反序列化时,虽然操作的数据可能不同,但是过程是相似的,这部分操作DRF框架进行了封装。

  • 在开发REST API的视图时,虽然每个视图操作的数据可能不同

  • 但增、删、改、查的基本流程是一样的,这部分代码DRF框架也进行了封装。

    • 增:校验请求数据 → 反序列化-将数据保存到对象中 → 保存数据到数据库 → 将保存的对象序列化返回
    • 删:判断要删除的数据是否存在 → 执行数据库删除 → 返回响应
    • 改:判断要修改的数据是否存在 → 校验请求的数据 → 反序列化-将数据保存到对象中 → 保存数据到数据库 → 将保存的对象序列化返回
    • 查(1个或多个):查询数据库 → 将数据序列化返回

# 2.2 特点

  • 提供了定义序列化器的方法,使用序列化器可以进行数据的序列化和反序列化
  • 提供了丰富的类视图、Mixin扩展类、子类视图、视图集,简化视图代码的编写
  • 多种身份认证和权限控制方式的支持
  • 内置了限流系统
  • 直观的API web界面
  • 可扩展性,插件丰富

参考资料:DRF框架官方文档 (opens new window)

总结:

  • 作用:快速开发RestAPI接口。
  • 特点:进行了大量封装,提高API开发速度。
  • 核心功能:序列化器和视图。
上次更新: 2024/3/13 15:35:10
02.Restful风格
04.环境安装与使用

← 02.Restful风格 04.环境安装与使用→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式