Django-ninjaがいいという話を聞いたので、ちょっと使ってみた際の備忘録です。
https://zenn.dev/chanmoro/articles/b980d8fa681362
環境
MacOS Ventura
Python 3.10.7
Poetry 1.3.2
グローバルのPythonにインストール
# pipの場合
pip install django-ninja
# poetryの場合
poetry add django-ninja
プロジェクトを作成したいディレクトリで実行
django-admin startproject {アプリ名} # 今回はDjangoNinjaTempleteとする
認証機能を作るためdjango-ninja-jwtをインストール
# pipの場合
pip install django-ninja-jwt django-ninja-extra six
# poetryの場合
poetry add django-ninja-jwt django-ninja-extra six
PoetryをPython3.10で使う場合はこちらを参考に
https://zenn.dev/hiroga/articles/poetry-env-cannot-use-python3_10
DJANGO_NINJA_TEMPLETEフォルダ(settings.pyがあるディレクトリ)でapi.pyを作成し、以下を貼り付け
from ninja_jwt.controller import NinjaJWTDefaultController
from ninja_extra import NinjaExtraAPI
api = NinjaExtraAPI()
api.register_controllers(NinjaJWTDefaultController)
from django.contrib import admin
from django.urls import path, include
from .api import api
urlpatterns = [
path('api/admin/', admin.site.urls),
path("api/", api.urls),
]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'ninja_extra', # 追加
]
サーバーを立ち上げて、http://127.0.0.1:8000/api/docs にアクセス
python manage.py runserver
Fast APIでよく出てくるdocsにアクセスできたら成功
こういったサービス運営やってるので、気になる方はぜひ
https://data-lab.project-g.co.jp?utm_source=Qiita&utm_medium=qiita&utm_campaign=qiita_20230119
続きはこちら (2023/03/13追記)
https://qiita.com/ps0317ix/items/ff10e0eddfc24e5db96c
参考文献:
https://django-ninja.rest-framework.com/
https://eadwincode.github.io/django-ninja-jwt/