Repolode
vitalik

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

    pipでdjango-ninjaをインストールします

    pip install django-ninja
  2. 2

    urls.pyと同じディレクトリに、NinjaAPIインスタンスとエンドポイントを含むapi.pyファイルを作成します

  3. 3

    urls.pyのurlpatternsにapi.urlsを追加します

  4. 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 の数値は毎日更新されます。

関連プロジェクト