小村の開発環境構築(17) Django Rest Frameworkの初期プロジェクト作成

  • こんばんは!小村だよ!

  • 今日はDRFを爆速作成する予定だよ!

  • よろしくね!



やること

  1. pipライブラリ確認
  2. Djangoのスタートアップ実行
  3. .gitignoreの作成
  4. DRFの爆速API作成
  5. 簡易API完成



前提条件

  • Ubuntuにリモート接続していること(これまでの環境構築参照)



参考サイト



手順

pipライブラリ確認

  • 早速参考サイトの通りスタートアップを作成していくよ

  • まずは必要なものがpipされていることを確認

f:id:kom314_prog:20210723120221p:plain


autopep8            1.5.7  
Django              3.2.5  
django-filter       2.4.0  
djangorestframework 3.12.4 
flake8              3.9.2  
  • この5つが入っていることが確認できたね

  • これらは今後も必須なので、requirements.txtを作ってメモしておくよ!

f:id:kom314_prog:20210723120700p:plain



Djangoのスタートアップ実行

f:id:kom314_prog:20210723123052p:plain
f:id:kom314_prog:20210723123149p:plain


  • django-admin startproject apiを実行

  • 作られるフォルダが、api\api\~と深いので、apiを1つ減らしておきます

  • そしたら次にpython manage.py startapp srcを実行

f:id:kom314_prog:20210723123442p:plain
f:id:kom314_prog:20210723123556p:plain


  • apiフォルダとsrcフォルダが同じ階層に作られますが、api\src\~に変えます

  • この状態でひとまず動くか確認しましょう

  • python manage.py runserverを実行。問題なし!

f:id:kom314_prog:20210723124432p:plain
f:id:kom314_prog:20210723124521p:plain



.gitignoreの作成

  • 変更履歴がvenvのせいで確認できないので、venvを対象外にします

  • .gitignoreを作成してvenvを記述

  • 変更履歴がすっきりしたのでそのままコミットしておきましょう

f:id:kom314_prog:20210723125116p:plain



DRFの爆速API作成

  • ではでは、参考サイトをコピペしまくりでやっていきます

    • 何回も会社でやったのでコピペですが、初回はちゃんと書いたほうがいいです


変更したところのメモ

  • フォルダ構成を変えているのでsettings.pyapps.pyの初期値を変更する
f:id:kom314_prog:20210723150201p:plain
f:id:kom314_prog:20210723150239p:plain


  • pycacheがうざいので下記環境変数を追加して発生しないようにする
export PYTHONDONTWRITEBYTECODE=1


  • urlsは1つにまとめる
# coding: utf-8

from rest_framework import routers
from api.src.views import UserViewSet, EntryViewSet
from django.conf.urls import url, include
from django.contrib import admin

router = routers.SimpleRouter()
router.register(r'users', UserViewSet)
router.register(r'entries', EntryViewSet)

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/', include(router.urls)),
]
f:id:kom314_prog:20210723155412p:plain



簡易API完成

f:id:kom314_prog:20210723155729p:plain
  • http://127.0.0.1:8000/api/entries/にアクセスするとjson形式で返します

  • 参考サイトではこの後もいろいろやってますが、今回は割愛

  • ひとまず最低限のAPIが作れるようになりました!



おわりに

  • 仕事場でPython覚えるときに一番最初に実施した手順でした

  • このサイトを元に何回も人に教えてるので、特に問題なく完了ですね

  • 後は初期設定の修正と、DB変更とherokuデプロイ!

  • そしたらweb開発の続きができる予定!

  • がんばるぞー!

  • ではでは、ちゃお~~~!