简介
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的
DRF(DjangoREST Framework)是一个功能灵活强大的工具集,用于构建RESTful 风格的Web API。主要用于前后端分离的系统。
RESTful
RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
REST(RepresentationalState Transfer),通常译为表述性状态转移。表述通常来讲就是资源。资源可以是实体(例如手机号码),也可以只是一个抽象概念(例如价值)。要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Uniform Resource
Identifier)。
RESTful架构应该遵循统一接口原则,统一接口包含了一组受限的预定义的操作,不论什么样的资源,都是通过使用相同的接口进行资源的访问。接口应该使用标准的HTTP方法如GET,PUT和POST,DELETE,并遵循这些方法的语义。
服务端返回的常见状态码:
200 (OK) - 表示已在响应中发出
201 (created)- 如果新资源被创建
400 (bad request)- 坏请求(如,参数错误)
401 Unauthorized
403 Forbidden
404 (not found)- 资源不存在
406 (not acceptable)- 服务端不支持所需表示
500 (internal server
error)- 通用错误响应
503 (Service Unavailable)- 服务端当前无法处理请求
动作的类型和相应的HTTP方法:
GET - 取回记录
POST - 创建记录
PUT - 更新整个记录
PATCH - 更新其中一些记录
DELETE - 删除记录
URI样例,以获取 book资源为例(可以对应数据库的book表)
/books/ GET –获取books列表, 可带查询参数
/books/1/ GET –获取id=1的book信息
/books/ POST –新建book
/books/1/ PUT –修改id=1 的book
/books/1/ PATCH –部分修改id=1 的book
/books/1/ DELETE –删除 id=1 的book
返回及请求数据的数据传输均为 json 格式如:{“name”: ”admin”, ”password”: ”123”}