Skip to main content

初识DRF

在本节课中,我们将初步了解DRF(Django Rest Framework)。

DRF是什么

DRF是什么呢?全称为Django Rest Framework。 01drf是什么? 在我们之前编写接口时,缺乏规范性。例如,对于新增商品的接口,不同人可能会采用不同的写法,比如张三写成"create products",而李四则写成"products create"。 02接口规范 这种不规范会导致项目接口的混乱,增加维护和阅读代码的困难。

在2000年,Roy Thomas在他的博士论文中提到了"rest"这个词, 03rest 从而诞生了一套接口规范,符合这套规范的API被称为"restful API"。 04rest接口规范 需要注意的是,rest规范只是一套规范,而不是强制的。就像前面提到的,无论采用张三还是李四的方式,都可以实现相同的接口功能。 05restfulapi

Rest的全称是"Representational State Transfer",翻译成汉语就是"表现层状态转化"。 表现层指的是资源的表现形式。 06表现层

而资源则是指诸如"products/1"这样的URI,代表一个商品的信息。资源有多种外在表现形式,比如"product1"可以表示查看、修改或删除ID为1的商品信息。 07product1 通过设定HTTP方法来确定访问资源时执行的操作,常见的方法有GET和POST,而在rest中定义了四个主要方法:GET用于获取资源,POST用于新建资源,PUT用于更新资源,DELETE用于删除资源。

08http方法

Restful API是一种面向资源的设计方案,通过不同的URL和标准的HTTP方法实现对资源的操作。 创建接口时,按照这样的规范定义接口,并通过不同的HTTP方法来实现对应的功能,这符合restful API的规范。

为什么要使用restful API呢?因为在前后端分离的项目中,Python主要负责后端,与数据库打交道并对数据进行读取,而前端使用的是vue。前后端之间通常选择一种通用的数据格式,如JSON格式数据,Python读取数据库后以JSON形式展示数据,前端通过请求后端接口获取JSON数据并展示在页面上,这是前后端分离的核心思想。如下图所示:

09前后端分离核心思想

DRF在这里起到了什么作用呢?它的主要作用是对数据进行序列化,使得小伙伴们更好地理解数据。 10drf作用

我们将使用两种方式来说明:第一种是传统方式生成JSON格式数据,第二种是使用DRF,以展示DRF的优势。