学びやすく、コードを書きやすく、実行も速い
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 ``これで完了です!/api/addこれで、以下のAPIを作成しました:
でHTTP GETリクエストを受け取るaGETパラメータ とbを受け取り、検証および型変換する結果をJSONにデコードする 定義された操作のOpenAPIスキーマを生成する インタラクティブAPIドキュメント
Djangoプロジェクトを実行してください
次に http://127.0.0.1:8000/api/docs にアクセスしてください。
自動生成されたインタラクティブなAPIドキュメント(Swagger UI または Redoc による提供)を見ることができます:

次に何をする?
- こちらで完全なドキュメントを読む - https://pmdevita.github.io/django-shinobi
- このプロジェクトをサポートするために、Githubでスターを付けてください。

- Twitter経由で共有
- フィードバックを共有し、Discordで開発について議論しましょう https://discord.gg/ntFTXu7NNv
