初始DRF
在本节课中,我们将初步了解DRF(Django Rest Framework)。
DRF是什么
DRF是什么呢?全称为Django Rest Framework。
在我们之前编写接口时,缺乏规范性。例如,对于新增商品的接口,不同人可能会采用不同的写法,比如张三写成"create products",而李四则写成"products create"。
这种不规范会导致项目接口的混乱,增加维护和阅读代码的困难。
在2000年,Roy Thomas在他的博士论文中提到了"rest"这个词,
从而诞生了一套接口规范,符合这套规范的API被称为"restful API"。
需要注意的是,rest规范只是一套规范,而不是强制的。就像前面提到的,无论采用张三还是李四的方式,都可以实现相同的接口功能。

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

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

Restful API是一种面向资源的设计方案,通过不同的URL和标准的HTTP方法实现对资源的操作。 创建接口时,按照这样的规范定义接口,并通过不同的HTTP方法来实现对应的功能,这符合restful API的规范。
为什么要使用restful API呢?因为在前后端分离的项目中,Python主要负责后端,与数据库打交道并对数据进行读取,而前端使用的是vue。前后端之间通常选择一种通用的数据格式,如JSON格式数据,Python读取数据库后以JSON形式展示数据,前端通过请求后端接口获取JSON数据并展示在页面上,这是前后端分离的核心思想。如下图所示:

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

我们将使用两种方式来说明:第一种是传统方式生成JSON格式数据,第二种是使用DRF,以展示DRF的优势。
【大熊课堂精品课程】
Python零基础入门动画课: https://www.bilibili.com/cheese/play/ss7988
Django+Vue:全栈开发: https://www.bilibili.com/cheese/play/ss8134
PyQT6开发桌面软件: https://www.bilibili.com/cheese/play/ss12314
Python办公自动化: https://www.bilibili.com/cheese/play/ss14990
Cursor AI编程+MCP:零基础实战项目课: https://www.bilibili.com/cheese/play/ss105194189
Pandas数据分析实战: https://www.bilibili.com/cheese/play/ss734522035
AI大模型+Python小白应用实战: https://www.bilibili.com/cheese/play/ss3844