小村の開発環境構築(17) Django Rest Frameworkの初期プロジェクト作成
こんばんは!小村だよ!
今日はDRFを爆速作成する予定だよ!
よろしくね!
やること
前提条件
- Ubuntuにリモート接続していること(これまでの環境構築参照)
参考サイト
本記事は下記サイトを参考に進めていくよ!
手順
pipライブラリ確認
早速参考サイトの通りスタートアップを作成していくよ
まずは必要なものがpipされていることを確認
autopep8 1.5.7 Django 3.2.5 django-filter 2.4.0 djangorestframework 3.12.4 flake8 3.9.2
この5つが入っていることが確認できたね
これらは今後も必須なので、
requirements.txt
を作ってメモしておくよ!
Django
のスタートアップ実行
django-admin startproject api
を実行作られるフォルダが、
api\api\~
と深いので、api
を1つ減らしておきますそしたら次に
python manage.py startapp src
を実行
api
フォルダとsrc
フォルダが同じ階層に作られますが、api\src\~
に変えますこの状態でひとまず動くか確認しましょう
python manage.py runserver
を実行。問題なし!
.gitignore
の作成
変更履歴が
venv
のせいで確認できないので、venv
を対象外にします.gitignore
を作成してvenv
を記述変更履歴がすっきりしたのでそのままコミットしておきましょう
DRF
の爆速API作成
ではでは、参考サイトをコピペしまくりでやっていきます
- 何回も会社でやったのでコピペですが、初回はちゃんと書いたほうがいいです
変更したところのメモ
- フォルダ構成を変えているので
settings.py
とapps.py
の初期値を変更する
- 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)), ]
簡易API完成
http://127.0.0.1:8000/api/entries/
にアクセスするとjson形式で返します参考サイトではこの後もいろいろやってますが、今回は割愛
ひとまず最低限のAPIが作れるようになりました!
おわりに
仕事場でPython覚えるときに一番最初に実施した手順でした
このサイトを元に何回も人に教えてるので、特に問題なく完了ですね
後は初期設定の修正と、DB変更とherokuデプロイ!
そしたらweb開発の続きができる予定!
がんばるぞー!
ではでは、ちゃお~~~!