🐍
忙しい人のためのDjango + DjangoRestFramework
概要
Django
Webアプリを作るPythonライブラリ
機能一覧:https://docs.djangoproject.com/en/4.1/intro/overview/
Django REST Framework (DRF)
DjangoにREST APIを作る機能を追加するライブラリ
DRF機能概要:https://www.django-rest-framework.org/
REST APIとは:https://learn.microsoft.com/ja-jp/azure/architecture/best-practices/api-design
Django + DRFでREST APIを作成することができる。
Django + DRFの全体像
全体像は図の通り。
- HTTPサーバーがHTTPリクエストを受ける
-
URLconf
に従い、リクエストのURLに対応するView
にRequest
オブジェクトを渡す -
View
がリクエストに付いた認証情報をPermission
オブジェクトに渡し、レスポンスを返して良いかを判定する -
Serializer
でRequest
に格納されたdict
形式のJSONデータをPython objectに変換する。 -
View
で生成したPython objectを処理し、必要に応じてModel
経由でDBのデータを読み書きして、返り値を作成。 -
Serializer
で返り値をSerializer
でJSONに変換してHTTPサーバーに返す。 - HTTPサーバーがクライアントにHTTPレスポンスを返す。
構成要素のView, Model, Serializer, urlpatternsについては別記事で解説する。
Discussion