快速学习,快速编码,快速运行
Django Shinobi - 快速的 Django REST 框架
Django Shinobi 是一个使用 Django 和 Python 3.6+ 类型提示 构建 API 的网络框架。
它是出色的 Django Ninja 库的一个分支,专注于社区期望的功能和修复。 如果你来自 Ninja,请查看差异列表以及路线图!
主要特性:
- 简单易用:设计易于使用且直观。
- 高速执行:得益于 Pydantic 和 异步支持,性能非常高。
- 快速编码:类型提示和自动文档让你只需专注于业务逻辑。
- 基于标准:基于 API 开放标准:OpenAPI(前称 Swagger)和 JSON Schema。
- Django 友好:(显而易见)与 Django 核心和 ORM 有良好集成。
- 生产就绪:原 Ninja 项目被多家公司用于生产项目。

文档: https://pmdevita.github.io/django-shinobi
安装
在您的 Django 项目中,添加 Django Shinobi。
pip install django-shinobi
或开始一个新项目。pip install django django-shinobi
django-admin startproject apidemo使用方法
在你的 Django 项目中,在 urls.py 文件旁边,创建一个名为 api.py 的新文件。
from ninja import NinjaAPIapi = NinjaAPI()
@api.get("/add")
def add(request, a: int, b: int):
return {"result": a + b}
Now go to urls.py and add the following:
``Python hl_lines="3 7"
...
from .api import api
urlpatterns = [ path("admin/", admin.site.urls), path("api/", api.urls), # <---------- ! ]
shell python manage.py runsever `` 现在访问 http://127.0.0.1:8000/api/docs就是这样!/api/add现在你已经创建了一个 API,它:
- 接收
的 HTTP GET 请求a获取、验证并类型转换 GET 参数 和b将结果解码为 JSON 为定义的操作生成 OpenAPI 模式 交互式 API 文档
运行你的 Django 项目
您将看到自动交互式 API 文档(由 Swagger UI 或 Redoc 提供):

接下来做什么?
- 在此阅读完整文档 - https://pmdevita.github.io/django-shinobi
- 若要支持此项目,请在 Github 上给它点赞。

- 通过 Twitter 分享
- 在 Discord 上分享您的反馈并讨论开发 https://discord.gg/ntFTXu7NNv
