Skip to content

maropook/book-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DRFでAPIを作成し,楽天bookAPIから取得したデータを操作する書籍管理システムを作る

開発環境

  • OS: macOS Big Sur v11.5.2
  • Python: Python 3.9.6
  • Django: 3.2.5

使い方

環境構築

python3系をインストール

pythonのインストールはYouTubeの動画で調べるのがおすすめ


書籍管理システム使用に必要なモジュールをインストール

#Django本体
$ pip install django

#CORS対策モジュール
$ pip install django-cors-headers

#django-filter
$ pip install django-filter

#RESTフレームワーク。
$ pip install djangorestframework

書籍管理システム本体のインストール

#このプロジェクトを自分のPCにインストール
$ git clone https://github.com/maropook/book_management.git

#book_managementディレクトリに移動
$ cd book_management

Djangoの設定

#migrationファイルからデータベースを作成
$ python manage.py migrate


書籍管理システムを起動

# 開発サーバーを起動
$ python manage.py runserver

http://localhost:8000/book/book/

DRFが起動しているか確認

http://localhost:8000/rakuten/

書籍管理システムの利用

作り方

🐴 Djangoのプロジェクトを作成

API実装

Django REST Frameworkを使って爆速でAPIを実装する

この記事を参考に,楽天bookAPIから取得したいカラムでデータベースを作成した.

CORS設定

DRFを使って、APIエンドポイントをフロントエンドから叩く場合にはCORSの設定が必要

【drf】django-cors-headersを使ってCORS設定を行う

動作確認

# 開発サーバーを起動
$ python manage.py runserver

http://localhost:8000/book/book/

DRFが起動しているか確認

全てCDNから取得してvue.jsをaxiosを使用しています.

REST APIを作成するには最低限以下の3つを定義する必要があります。

  • Serializer
  • ViewSet
  • URL pattern

ざっくり言うと、Serializerは「Modelをどのようにシリアライズ(・デシリアライズ)するかを決めるためのもの」、ViewSetは「APIのクエリーをどう解釈するかを決めるためのもの」、そしてURL Patternは「DjangoにURLのパターンを教えるためのもの」です。これらをAPI化したいModelに対してそれぞれ定義していきます。

最低限のAPI実装をしたい時には結構手間に感じるかもしれませんが、このように分割することによって高い拡張性とコードの見通しのよさを実現しています。

About

書籍管理システム

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors