服务端相关 / 06 DjangoRESTframework 框架

Django REST framework 简介

不重复造轮子,是开发人员共同的哲学道理。在使用 Python 开发 RESTful Web API 时,就有一个大名鼎鼎的轮子 Django REST framework,这一节我们就来简单了解一下 Django REST framework。
图片描述

Django REST framework 一听就是和著名的 Python web 开发框架 Django 有很大的关系,这个框架是由 Tom Christie 在 Django 框架基础之上二次开发的开源项目,是用来帮助开发者快速构建 RESTful Web API 的强大而又灵活的工具。

1. Django REST framework 的特点

  • 提供了定义序列化器 Serializer 的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;

  • 提供了丰富的类视图、Mixin 扩展类,简化视图的编写;

  • 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;

  • 多种身份认证和权限认证方式的支持;

  • 内置了限流系统;

  • 直观的 API web 界面;

  • 可扩展性,插件丰富

2. Django REST framework 构建原理

Django REST framework 是在 Django 框架的基础上进行扩充,从而可以帮助我们简化部分的代码编写,大大提高 RESTful Web API 的开发速度。

  1. 在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。
  2. 在开发 REST API 的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的:
    • :校验请求数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回
    • :判断要删除的数据是否存在 -> 执行数据库删除
    • :判断要修改的数据是否存在 -> 校验请求的数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回
    • :查询数据库 -> 将数据序列化并返回

Django REST framework 相关资料:

3.小结

本节主要带领大家了解了一下 Django REST framework 框架。接下来我们将使用这套框架,开发一套属于自己的 RESTful Web。