Django REST Frameworkの基礎
DjangoRESTFrameworkとは
DjangoRESTFrameworkというDjango用のモジュールがある。
www.django-rest-framework.org
これがあればDjangoで設定していたURLごとにView関数が呼ばれるのと同じような感じで、WebAPIが作れるというもの。通常のDjangoのView関数はrender関数や、ジェネリックビューを使いHTMLを返しているが、DjangoRESTFrameworkはJSONとかを返すので、他のサービスに組み込むのも楽、フロントエンドとバックエンドを完全に分けるのも楽なのである。こういう楽ちんAPIキットは、自分の知る限りだと、AWSのAPI GATE WAY + LAMBDA とこの DjangoRESTFramework しかしらない。のでDjango使いにはオススメである。
DjangoRESTFrameworkの基本的な使い方
Django内のアプリにapiというフォルダを設置し、次のような構成で組む。
(app名)
├── api
│ ├── init.py
│ ├── permissions.py(必須ではないがオリジナルのパーミッションを組みたいときはいる)
│ ├── serializers.py (JSONで返す値の内 クエリ内の何の値を返すのかを設定)
│ ├── urls.py (API のURL設定 アプリのurls.pyと同じ)
│ └── views.py (API の挙動の設定 各API query serializer permission などはここでまとまられる)
├── models.py
├── views.py
├── forms.py
・
・
・
できること
Djangoでできたことは大体できる模様
- クエリのフィルタリング (Qオブジェクトでのフィルタリングも普段のDjango同様に実装可)
- パーミッション設定
- ページネーション設定
- オブジェクトのCRUDなどなど
参照・リファレンス
公式ドキュメント
簡単スタート方法