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

笔记介绍

  • Web应用前后端分离结构
  • Web API接口设计的RESTful风格
  • Django REST framework框架

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

笔记目录:
django rest framework 知识笔记点大集合 共5大模块,全网最全知识体系_第1张图片

django rest framework 知识笔记点大集合 共5大模块,全网最全知识体系_第2张图片

django rest framework 知识笔记点大集合 共5大模块,全网最全知识体系_第3张图片

认识RESTful

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

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

  1. POST /add-goods 增加商品
  2. POST /delete-goods 删除商品
  3. POST /update-goods 修改商品
  4. 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进行开发了。

你可能感兴趣的:(djangopython)