Repolode
axnsan12

axnsan12/drf-yasg

从 Django REST Framework 代码自动生成 Swagger/OpenAPI 2.0 规范与在线文档。

Star
3,547
Fork
439
未关闭 Issue
218
最近提交
29天前

这是什么?

drf-yasg 通过分析 Django REST Framework 的视图和序列化器,自动生成 OpenAPI 2.0(Swagger)规范,让接口文档直接跟随代码更新,无需手工维护。生成的规范可以以 JSON 或 YAML 格式输出,并内置 swagger-ui 与 ReDoc 页面,方便直接在项目中浏览文档。

接入时只需将应用加入 INSTALLED_APPS,并在 urls.py 中挂载 schema 视图。它支持嵌套序列化器,并在规范生成的各个环节提供自定义钩子。视图默认支持缓存,也可以借助 swagger-spec-validator 对生成的规范做校验。

该项目只支持 OpenAPI 2.0。作者在文档中建议需要 OpenAPI 3.0 的新项目改用 drf-spectacular,并表示 drf-yasg 短期内不太可能支持 3.0。

核心功能

  • 01根据 DRF 视图和序列化器生成 Swagger/OpenAPI 2.0 规范,支持嵌套序列化器。
  • 02规范可输出为 JSON 或 YAML 格式。
  • 03内置 swagger-ui 和 ReDoc 用于浏览接口文档。
  • 04在规范生成的各个环节提供自定义钩子。
  • 05可选使用 swagger-spec-validator 校验规范,并支持视图缓存。
  • 06支持 URLPathVersioning 和 NamespaceVersioning 版本方案。

适用场景

  • 为现有 Django REST Framework 接口自动生成文档,免去手写规范。
  • 生成 OpenAPI 2.0 文件,供 swagger-codegen 生成客户端代码。
  • 在 Django 项目中向开发者提供可交互的 API 文档页面。

标签

常见问题

drf-yasg 是什么?
从 Django REST Framework 代码自动生成 Swagger/OpenAPI 2.0 规范与在线文档。 drf-yasg 通过分析 Django REST Framework 的视图和序列化器,自动生成 OpenAPI 2.0(Swagger)规范,让接口文档直接跟随代码更新,无需手工维护。生成的规范可以以 JSON 或 YAML 格式输出,并内置 swagger-ui 与 ReDoc 页面,方便直接在项目中浏览文档。
drf-yasg 可以免费使用吗?用的什么许可证?
drf-yasg 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
drf-yasg 还在维护吗?
活跃维护中。drf-yasg 最近一次提交是在 2026年10月9日。
drf-yasg 适合用来做什么?
为现有 Django REST Framework 接口自动生成文档,免去手写规范。 生成 OpenAPI 2.0 文件,供 swagger-codegen 生成客户端代码。 在 Django 项目中向开发者提供可交互的 API 文档页面。
在哪里获取 drf-yasg?
源代码和安装说明在 GitHub 上:https://github.com/axnsan12/drf-yasg

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目