Django REST Framework 入門ガイド 2 - セットアップ
2-1. 必要なライブラリのインストール
Django REST Frameworkを使用するには、Djangoプロジェクトに必要なパッケージをインストールする必要があります。以下のコマンドを実行してください。
pip install djangorestframework
また、認証やフィルタリングを追加で行いたい場合、以下のライブラリもインストールしてください。
djangorestframework-simplejwt: JWT認証を使う場合
django-filter: フィルタリングを簡単に実装する場合
pip install djangorestframework-simplejwt django-filter
2-2. プロジェクトへDRFを追加する
2-2-1. Djangoプロジェクトの作成
まだプロジェクトを作成していない場合は、以下のコマンドで新しいプロジェクトを作成します。
django-admin startproject myproject
cd myproject
プロジェクト作成後のディレクトリ構成は以下のようになります。
myproject/
manage.py
myproject/
__init__.py
asgi.py
settings.py
urls.py
wsgi.p
2-2-2. アプリケーションの作成
DRFを試すためのアプリケーションを作成します。
python manage.py startapp api
このコマンドを実行すると、以下のようなディレクトリ構成(api/)が作成されます。
myproject/
manage.py
myproject/
(省略)
api/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
各ファイルの役割は以下の通りです。
models.py: アプリケーション内のデータモデルを定義。
views.py: リクエストを処理するビューを定義。
tests.py: テストコードを記述。
admin.py: 管理画面の設定。
apps.py: アプリケーションの設定。
2-2-3. アプリケーションを設定に追加
プロジェクトのsettings.pyを開き、INSTALLED_APPSに以下を追加します。
INSTALLED_APPS = [
# 既存のアプリ
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# REST Framework
'rest_framework',
# 作成したアプリ
'api',
]
2-3. 設定ファイル(settings.py)の基本的な設定
2-3-1. DRFの基本設定
settings.py に以下のようなREST Frameworkの設定を追加します。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': [
'rest_framework.renderers.JSONRenderer',
# 必要に応じてブラウザでの表示を有効化
'rest_framework.renderers.BrowsableAPIRenderer',
],
'DEFAULT_PARSER_CLASSES': [
'rest_framework.parsers.JSONParser',
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
}
DEFAULT_RENDERER_CLASSES: APIの出力フォーマットを指定します。通常はJSONがメインですが、開発時に便利なブラウザビューも追加できます。
DEFAULT_AUTHENTICATION_CLASSES: セッションやトークンなど、認証の種類を指定します。
DEFAULT_PERMISSION_CLASSES: 権限のデフォルト設定。今回は認証が必要な設定をデフォルトにしています。
2-3-2. データベースのマイグレーション
必要に応じてデータベースのマイグレーションを行います。
python manage.py migrate
2-4. サンプルAPIの動作確認
2-4-1. シンプルなビューの作成
api/views.pyに以下のコードを追加します。
from rest_framework.response import Response
from rest_framework.views import APIView
class HelloWorldView(APIView):
def get(self, request):
return Response({"message": "Hello, world!"})
2-4-2. URLの設定
api/urls.pyを作成し、以下を記述します。
from django.urls import path
from .views import HelloWorldView
urlpatterns = [
path('hello/', HelloWorldView.as_view(), name='hello'),
]
プロジェクト全体のurls.pyに、api.urlsをインクルードします。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
]
2-4-3. サーバーの起動と確認
開発サーバーを起動してAPIが動作するか確認します。
python manage.py runserver
ブラウザまたはAPIクライアント(Postmanなど)で以下にアクセスしてください。
http://127.0.0.1:8000/api/hello/
これでDjango REST Frameworkのセットアップが完了しました。
次章では、API開発の中心となるシリアライザーについて解説していきます。