Python WEBサービス

【DRF】venv仮想環境を用いて、DRFシステムで書籍管理システムを作成する(3)APIの動作とテスト

第2回目は画像も何も無い、ただただ設定だけを説明した眠たくなるようなポストでしたが、今回はいよいよAPIを動作させてみたいと思います。

9.APIの動作確認

9-1.サーバ起動

APIの確認を行います。
まずはバックエンドサーバの起動です。

9-2.管理ユーザでログイン

createsuperuser コマンドで作成した管理ユーザーでログインを行います。

アクセスURL
http://localhost:8000/admin/

ログイン後は以下のような画面が表示されます。

9-3.API画面

Django REST Frameworkには、APIを管理する専用画面が用意されています。

下記にアクセスすると、画面が表示されます。
この画面で、データの取得、作成、更新、削除をすることができます。

API管理画面(書籍)

http://localhost:8000/book/api/books/

アクセス後は以下のような画面が表示されます。

API管理画面(出版社)

http://localhost:8000/book/api/publishers/

9-4.データ作成(出版社)

データの作成をしてみましょう。
嬉しいことにフォームが最初から用意されているので、入力してPOSTボタンを押すだけで、データの作成ができてしまいます。

↑ 下段フォームで入力しポストした内容が、上ブロックに表示されています。

また、ページ送りを1ページ4件で設定しましたが、5件以上の出版社データを入力したところ、管理画面にページ送りが表示されました。

9-5.データ更新

データの更新も行えます。
先ほど作成したデータの ID が「1」のデータの場合、下記URLにアクセスするとデータの詳細画面でデータの編集をすることが出来ます。

IDが1のデータURL

http://localhost:8000/book/api/publishers/1/

ボタン名が PUT になっているのがニクいですね。
PUTメソッドは、データの一部を変更するための使用されるリクエストメソッドです。

詳しくは下記のサイトを参照してください。

9-6.データ削除

「DELETE」ボタンを押すと、データの削除をすることができます。
この場合の削除はデータベースには残らない、物理削除となります。

9-7.データ取得

フロントエンド側からAPIのURLをコールすると、Json形式でデータを取得することができます。

アクセスURL

http://localhost:8000/book/api/publishers/1/?format=json

このAPIをコールした場合は、下記のようになJsonデータが取得できます。

{"id":1,"name":"ああああいいいい出版","address":"東京都","website":"https://www.yahoo.co.jp/","created_at":"2024-09-07T21:42:23.696687+09:00","updated_at":"2024-09-07T21:44:37.544902+09:00"}

9-8.管理画面に出版社情報のフォームを追加する

APIの画面からも登録などできますが、先に上げた管理画面に登録フォームを追加することも可能です。
apps/book/admin.pyを編集します。

django/apps/book/admin.py

上記の2行を追加するだけで、下記のように管理画面が出来上がります。

admin.py、便利ですねえ。

という感じで、Django の admin 機能を使用したデータの作成でした。
次回はVueのインストールを行います。

関連するポスト

【DRF】venv仮想環境を用いて、DRFシステムで書籍管理システムを作成する(2)Djangoアプリケーションの作成

【DRF】venv仮想環境を用いて、DRFシステムで書籍管理システムを作成する(1)Djangoのセットアップ

-Python, WEBサービス
-, , , ,