MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

Django REST Frameworkの基礎

DjangoRESTFrameworkとは

DjangoRESTFrameworkというDjango用のモジュールがある。
www.django-rest-framework.org
これがあればDjangoで設定していたURLごとにView関数が呼ばれるのと同じような感じで、WebAPIが作れるというもの。通常のDjangoのView関数はrender関数や、ジェネリックビューを使いHTMLを返しているが、DjangoRESTFrameworkはJSONとかを返すので、他のサービスに組み込むのも楽、フロントエンドとバックエンドを完全に分けるのも楽なのである。こういう楽ちんAPIキットは、自分の知る限りだと、AWSAPI 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などなど

参照・リファレンス

公式ドキュメント

www.django-rest-framework.org

簡単スタート方法

www.django-rest-framework.org