意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

django rest framework 知识笔记点大集合 共5大模块,全网最全知识体系

来源:恒创科技 编辑:恒创科技编辑部
2024-01-01 17:49:59
笔记介绍Web应用前后端分离结构Web API接口设计的RESTful风格Django REST framework框架

笔记获取的地址为: https://zhuanlan.zhihu.com/p/...

笔记目录:
图片

图片


django rest framework 知识笔记点大集合 共5大模块,全网最全知识体系

图片

认识RESTful

在前后端分离的应用模式里,后端API接口如何定义?

例如对于后端数据库中保存了商品的信息,前端可能需要对商品数据进行增删改查,那相应的每个操作后端都需要提供一个API接口:

POST /add-goods 增加商品POST /delete-goods 删除商品POST /update-goods 修改商品GET /get-goods 查询商品信息

对于接口的请求方式与路径,每个后端开发人员可能都有自己的定义方式,风格迥异。

是否存在一种统一的定义方式,被广大开发人员接受认可的方式呢?

这就是被普遍采用的API的RESTful设计风格。

RESTful设计方法1. 域名

应该尽量将API部署在专用域名之下。

https://api.example.com

如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。

https://example.org/api/
2. 版本(Versioning)

应该将API的版本号放入URL。

http://www.example.com/api/1.0/foo

http://www.example.com/api/1.1/foo

http://www.example.com/ap、/2.0/foo

另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。

因为不同的版本,可以理解成同一种资源的不同表现形式,所以应该采用同一个URL。版本号可以在HTTP请求头信息的Accept字段中进行区分(参见Versioning REST Services):

Accept: vnd.example-com.foo+json; version=1.0

Accept: vnd.example-com.foo+json; version=1.1

Accept: vnd.example-com.foo+json; version=2.0
1. 安装DRF
pip install djangorestframework
2. 添加rest_framework应用

我们利用在Django框架学习中创建的demo工程,在settings.pyINSTALLED_APPS中添加'rest_framework'。

INSTALLED_APPS = [
    ...
    'rest_framework',
]

接下来就可以使用DRF进行开发了。

上一篇: celery 学习笔记整理总结,共4大章 下一篇: 跟我学Python图像处理丨关于图像金字塔的图像向下取样和向上取样(跟我学python)