🐍
忙しい人のための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