タイトル: APIの作成
SEOタイトル: 【django】APIの作成
前提
・djangoインストール済み。
・本稿ではWindows OSを例にしますが適宜読み替えて下さい。
・本稿では出来るだけAPIに関する部分のみを記述する。他に関しては別記事を参照すること。
・プロジェクト名を「api_project」とする
・適当なアプリを作成しておく。今回は「api」アプリとする。
必要ライブラリ
|
pip install djangorestframework pip install django-filter |
設定ファイル
| api_project/settings.py |
|---|
|
INSTALLED_APPS = ( 'api', 'rest_framework', ) |
モデルの作成
| api/models.py |
|---|
|
from django.db import models
id = models.CharField(max_length=200, primary_key=True) user_id = models.CharField(max_length=200) |
※DB設定はAPI固有のものではないので省きます。
※面倒なのでカラムはidのみとします。
シリアライザーの作成
| api/models.py |
|---|
|
from rest_framework import serializers from .models import User, Entry
|
※DB設定はAPI固有のものではないので省きます。
URLの設定
| api_project/url.py |
|---|
|
from django.contrib import admin from django.urls import include, path
urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('api.urls')), ] |
| api/url.py |
|---|
|
from rest_framework import routers from .views import TestView
router = routers.DefaultRouter() router.register(r'test', TestView) |
上記の記述で「GET /api/test/」にアクセスできるようになる。
ビューの作成
| api/url.py |
|---|
|
import django_filters from .models import Report class TestView(viewsets.ModelViewSet): router = routers.DefaultRouter() |
動作の確認
開発サーバーを起動して「http://127.0.0.1:8000/api/test/」にアクセスする。
以下のようにレスポンスが表示されれば成功。
