Repolode
vitalik

vitalik/django-ninja

基于 Django 的 Python Web 框架,用类型提示构建 REST API,自动生成 OpenAPI 文档。

可替代:Django REST Framework

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. 1

    使用 pip 安装 django-ninja

    pip install django-ninja
  2. 2

    在 urls.py 旁创建 api.py 文件,定义 NinjaAPI 实例和接口

  3. 3

    在 urls.py 的 urlpatterns 中添加 api.urls

  4. 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 数据每日更新。

相关项目