Django REST Framework APIから、実際のSwagger/OpenAPI 2.0仕様書とインタラクティブなドキュメントを生成します。
vitalik/django-ninja
Django上で型ヒントを使ったREST APIを構築できるPython製Webフレームワーク。OpenAPIドキュメントの自動生成とPydanticによるバリデーションに対応。
代替できる製品:Django REST Framework
- スター
- 9,237
- フォーク
- 627
- 未解決の Issue
- 158
- 最終コミット
- 昨日
これは何?
Django Ninjaは、DjangoとPythonの型ヒントを使ってAPIを構築するWebフレームワークです。エンドポイントは@api.getなどのルートでデコレートした通常のPython関数として定義でき、リクエストパラメーターはPydanticによって検証され、注釈された型に変換されます。
型ヒントをもとにOpenAPIスキーマを生成し、/api/docsでSwagger UIまたはRedocによるインタラクティブなドキュメントを表示します。非同期ビューに対応し、Djangoのコア機能やORMと連携します。
Djangoをすでに利用していて、型アノテーションでAPIを定義する、より簡潔なDjango REST Frameworkの代替手段を求める開発者を対象としています。
主な機能
- 01型ヒント付きのPython関数としてエンドポイントを定義
- 02Pydanticによるリクエストパラメーターの検証と型変換
- 03Swagger UIとRedocのドキュメントを備えたOpenAPIスキーマの自動生成
- 04非同期ビューに対応
- 05Djangoのコア機能やORMと連携
ユースケース
- 既存のDjangoプロジェクトにJSON APIを追加する
- APIドキュメントの自動生成が必要な、型付けされたバックエンドサービスを構築する
- Django ORMのモデルをRESTエンドポイントとして公開する
クイックスタート
- 1
pipでdjango-ninjaをインストールします
pip install django-ninja - 2
urls.pyと同じディレクトリに、NinjaAPIインスタンスとエンドポイントを含むapi.pyファイルを作成します
- 3
urls.pyのurlpatternsにapi.urlsを追加します
- 4
http://127.0.0.1:8000/api/docs でインタラクティブドキュメントを開きます
収録されている特集
トピック
よくある質問
- django-ninja とは?
- Django上で型ヒントを使ったREST APIを構築できるPython製Webフレームワーク。OpenAPIドキュメントの自動生成とPydanticによるバリデーションに対応。 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を追加する APIドキュメントの自動生成が必要な、型付けされたバックエンドサービスを構築する Django ORMのモデルをRESTエンドポイントとして公開する
- django-ninja のインストール方法は?
- pipでdjango-ninjaをインストールします: pip install django-ninja urls.pyと同じディレクトリに、NinjaAPIインスタンスとエンドポイントを含むapi.pyファイルを作成します urls.pyのurlpatternsにapi.urlsを追加します http://127.0.0.1:8000/api/docs でインタラクティブドキュメントを開きます
- django-ninja はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/vitalik/django-ninja
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
実行時にコントローラーを調べ、Spring Bootアプリ向けのOpenAPI 3ドキュメントとSwagger UIまたはScalarページを生成します。
標準の型ヒントを使ってAPIを構築できるPython製Webフレームワーク。自動バリデーション、OpenAPIドキュメント、高いパフォーマンスを備えています。
Goサービス向けに、RESTfulなJSON HTTP呼び出しをgRPCリクエストへ変換するリバースプロキシサーバーを生成するprotocプラグイン。
コードのアノテーションやJAX-RS REST APIからOpenAPI仕様を生成するJavaライブラリ。OpenAPI 3.xに対応。
データ検証、依存性注入、OpenAPI生成、ORM連携を備えた、API構築向けの柔軟なASGI Python Webフレームワークです。