DRF学习01-安装和RESTful 规范

整理好了,这是一份 Django 后端开发(DRF)第 3 天的学习笔记,已精简为提纲式结构,保留核心知识点,删掉下载安装、版本数字等次要细节。


前后端开发模式(DRF day03)

一、两种开发模式

模式 后端 前端 模板渲染位置 数据返回
混合开发 Django / Flask / Go(gin) / Java(JSP) 模板语法(DTL、JSP 等) 后端完成 渲染后的纯 HTML/CSS/JS 字符串
前后端分离 只写接口 只写 HTML/CSS/JS(vue/react/小程序/app) — JSON / XML 数据

混合开发执行流程(render(request, 'index.html', {...})):

  1. 拿到 HTML 模板
  2. 用变量替换模板语法({}、{%%})
  3. 以字符串形式返回前端
  4. 浏览器解析 HTML、应用 CSS、执行 JS

关键点:JS 在浏览器执行,模板语法在后端服务器执行。


二、API 接口

定义:规定前后台信息交互规则的 URL 链接,是信息交互的媒介。

一个 API 包含 4 个要素:

  1. URL:链接地址
  2. 请求方式:GET、POST、PUT、DELETE
  3. 请求参数(key-value 类型):
    • 地址栏参数:?name=lqz&age=19
    • 请求体编码格式:urlencoded(name=lqz&age=19)、json({"name":"lqz","age":19})、form-data(文件混合数据)
  4. 响应结果:JSON 或 XML

HTTP 请求结构:请求首行(协议/版本/地址/方式)、请求头(key-value)、请求体(编码格式)


三、接口测试工具

  • 为什么不用浏览器:浏览器只能发 GET 请求。
  • 主流工具:Apifox(Postman+Swagger+Mock+JMeter 一体)、Postman(已收费)、Postwoman,或用 requests 模块写代码。
  • 常用功能:发送请求(地址/方式/参数/头/体)、查看响应;Collection 可把一组接口保存复用,支持导入导出。

四、RESTful 规范

前后端分离接口的约定俗成规范(10 条,可灵活遵循,公司也可能有自己规范):

  1. 数据安全:URL 用 https
  2. 带 api 标识:/api/xxx
  3. 带版本标识:/api/v1/
  4. 资源用名词(可用复数):/v1/users
  5. 请求方式决定操作(CURD):
    • GET /books → 获取所有
    • POST /books → 新增
    • GET /books/1 → 获取单个
    • PUT /books/1 → 整体修改
    • DELETE /books/1 → 删除
  6. 地址带过滤条件:?name=大象
  7. 响应带状态码:HTTP 状态码 + 公司自定义码(如 {code:100} 成功)
  8. 响应带错误信息:{code:101, msg:"用户名密码错误"}
  9. 结果随操作规范:列表返回数组,单个/新增/修改返回对象,删除返回空文档
  10. 数据中带 URL 链接

五、序列化与反序列化(核心)

概念 含义 场景
序列化 把我们识别的数据(字典/列表/对象)→ 指定格式(JSON 字符串) Django 查询得到的模型对象 → JSON 提供给前端
反序列化 把别人提供的数据 → 还原成我们需要的格式(模型对象) 前端 JSON 字符串 → 模型对象,才能存入数据库

一句话:数据库对象 ↔ JSON 格式字符串 的双向转换。


六、DRF 安装快速使用

  • 安装:pip install djangorestframework --upgrade
  • 要求:Django 需 3.x 以上(2.x 需装对应旧版 DRF)
  • 基础:创建 Book 表(id/name/price),实现增删改查
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容