从 Django REST Framework 代码自动生成 Swagger/OpenAPI 2.0 规范与在线文档。
vitalik/django-ninja
基于 Django 的 Python Web 框架,用类型提示构建 REST API,自动生成 OpenAPI 文档。
- Star
- 9,237
- Fork
- 627
- 未关闭 Issue
- 158
- 最近提交
- 21小时前
这是什么?
Django Ninja 是一个基于 Django 和 Python 类型提示构建 API 的 Web 框架。接口就是带路由装饰器(如 @api.get)的普通 Python 函数,请求参数会通过 Pydantic 校验并转换为声明的类型。
框架会根据类型提示自动生成 OpenAPI 规范,并在 /api/docs 提供 Swagger UI 或 Redoc 交互式文档。它支持异步视图,并与 Django 核心和 ORM 良好集成。
适合已经在使用 Django、希望用类型注解定义接口、比 Django REST Framework 写法更简洁的开发者。
核心功能
- 01用带类型提示的 Python 函数定义接口
- 02通过 Pydantic 自动校验和转换请求参数
- 03自动生成 OpenAPI 规范,提供 Swagger UI 与 Redoc 文档
- 04支持异步视图
- 05与 Django 核心及 ORM 集成
适用场景
- 为现有 Django 项目添加 JSON API
- 构建需要自动生成接口文档的类型化后端服务
- 通过 REST 接口暴露 Django ORM 模型数据
快速上手
- 1
使用 pip 安装 django-ninja
pip install django-ninja - 2
在 urls.py 旁创建 api.py 文件,定义 NinjaAPI 实例和接口
- 3
在 urls.py 的 urlpatterns 中添加 api.urls
- 4
打开 http://127.0.0.1:8000/api/docs 查看交互式文档
收录于专题
标签
常见问题
- django-ninja 是什么?
- 基于 Django 的 Python Web 框架,用类型提示构建 REST API,自动生成 OpenAPI 文档。 Django Ninja 是一个基于 Django 和 Python 类型提示构建 API 的 Web 框架。接口就是带路由装饰器(如 @api.get)的普通 Python 函数,请求参数会通过 Pydantic 校验并转换为声明的类型。
- django-ninja 可以免费使用吗?用的什么许可证?
- django-ninja 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- django-ninja 还在维护吗?
- 活跃维护中。django-ninja 最近一次提交是在 2026年11月6日。
- django-ninja 适合用来做什么?
- 为现有 Django 项目添加 JSON API 构建需要自动生成接口文档的类型化后端服务 通过 REST 接口暴露 Django ORM 模型数据
- django-ninja 怎么安装和运行?
- 使用 pip 安装 django-ninja: pip install django-ninja 在 urls.py 旁创建 api.py 文件,定义 NinjaAPI 实例和接口 在 urls.py 的 urlpatterns 中添加 api.urls 打开 http://127.0.0.1:8000/api/docs 查看交互式文档
- 在哪里获取 django-ninja?
- 源代码和安装说明在 GitHub 上:https://github.com/vitalik/django-ninja
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3547+2 本周439PythonOther更新于 29天前
为 Spring Boot 应用运行时自动生成 OpenAPI 3 文档,并提供 Swagger UI 或 Scalar 页面。
3746+4 本周612JavaApache-2.0更新于 昨天
基于标准 Python 类型提示构建 API 的 Python Web 框架,内置数据校验与自动生成的交互式文档。
10.4万+191 本周1万PythonMIT更新于 24小时前
Java 库,通过注解和 JAX-RS 接口自动生成 OpenAPI 规范文档,支持 OpenAPI 3.x。
7535+3 本周2255JavaApache-2.0维护活跃更新于 前天