00:00

文章目录

加载目录中...

django restframework基本介绍

什么是DRF

DRFDjango REST framework 的缩写,它是一个功能强大且灵活的工具包,用于在 Django 中构建 Web API

简单来说,它是在 Django 的基础上,专门为了快速、高效地创建 RESTful API 而设计的第三方库。

核心概念拆解

  1. Django: 一个基于 Python 的免费开源的强大 Web 框架,用于构建完整的网站(包括前端页面和后端逻辑)。
  2. REST: 一种软件架构风格,定义了一组约束和原则。遵循 REST 原则的 API 称为 RESTful API。它强调无状态通信清晰的资源标识(通过 URL)、统一接口(使用 HTTP 方法如 GET、POST、PUT、DELETE)等。
  3. Web API: 应用程序编程接口,它允许不同的软件应用程序之间相互通信。Web API 使用 HTTP 协议,通常返回 JSON 或 XML 格式的数据,而不是完整的 HTML 页面。

所以,DRF = Django + 专门用于构建 RESTful API 的工具集

为什么需要使用 DRF?(它的优点)

虽然你可以用纯 Django 来写 API(手动处理 JSON 序列化和视图逻辑),但 DRF 让这个过程变得异常简单、快速和规范。

  1. 强大的序列化器
    • 核心功能之一。它负责将复杂的 Django 模型查询集 转换为易于传输的数据格式,如 JSON(序列化)。
    • 同时,也能验证并解析客户端发送来的 JSON 数据,将其转换为 Django 的模型实例(反序列化)。
    • 这极大地简化了数据验证和转换的工作。
  2. 基于类的视图
    • DRF 提供了一系列高可复用的视图类,如 APIView, GenericAPIView, 以及各种 Mixin
    • 你可以通过极少的代码就实现标准的 CRUD(增删改查)操作。例如,几行代码就能创建一个完整的、支持列表和详情查看的 API 端点。
  3. 认证与权限
    • 内置了强大的、可配置的认证系统,支持:
      • 基本认证
      • Token 认证
      • Session 认证(适用于前端也是 Django 模板的情况)
      • 以及很容易扩展第三方认证,如 JWT
    • 权限控制也非常精细,可以轻松设置不同用户(如普通用户、管理员)对 API 的访问权限。
  4. 浏览友好的 API
    • DRF 会自动为你的 API 生成一个可交互的网页浏览器
    • 开发者可以直接在浏览器中访问 API 地址,查看数据结构、进行测试(发送 POST、PUT 请求),这为开发和调试提供了极大的便利。
  5. 极高的可定制性
    • 虽然 DRF 提供了大量开箱即用的功能,但其核心设计非常灵活。如果你需要自定义行为,你可以很容易地覆盖默认设置,从序列化器、权限到分页方式等都可以深度定制。

总结

特性 描述
是什么 一个基于 Django 的、用于构建 RESTful API 的强大工具包。
核心功能 序列化、视图类、认证权限、浏览界面、路由、分页等。
主要优点 开发高效功能全面文档丰富社区活跃高度可定制
适用场景 当你使用 Django 作为后端,并且需要为 Web 前端移动App其他第三方服务提供数据接口时,DRF 是最佳选择。
返回文章列表

评论区 0