> tech-memo.club Topへ

2. サンプルアプリ作成

Django を利用したサンプルアプリを作成します。
Django プロジェクトの構成(ファイル群)などをまとめます。

下記 2段階で作成
2-1. Django 管理サイトを利用したアプリ作成
2-2. 自作画面を利用したアプリ作成

2-1. Django 管理サイトを利用したアプリ作成

「record_app」アプリ作成
「record_app」という名前のアプリを作成する
1.コマンドプロンプトで「python manage.py startapp record_app」を実行

「record_app」アプリの構成図
「record_app」アプリのファイル群が生成され、上図の構成となる

モデル作成
データベースに登録する項目をモデルとして「models.py」に定義する
ここでは、血圧テーブル(クラス名:BloodPressure)を下記3項目で定義
・記録日時
・最高血圧
・最低血圧
※モデルはテーブル定義と同じような感覚で定義する
※return は文字列である必要があるため、DateTimeField を文字列に変換したものを return している

※13行目について
「settings.py」の「USE_TZ = True」の設定にて、データベースに登録される時間はUTCとなる
そのため、日本時間に合わせるため +9時間の処理を行っている

▼参考

apps.py
1.「apps.py」を開く
2.クラス名「RecordAppConfig」をコピーする

settings.py
1.「settings.py」を開く
2.「INSTALLED_APPS」にコピーしたクラス名を上図の内容で追加する

マイグレートファイル生成
「models.py」で定義した内容でマイグレートファイルを生成する
1.「python manage.py makemigrations record_app」を実行

マイグレートファイルで実行されるSQL確認
生成したマイグレートファイルで実行されるSQL文は下記コマンドで確認できる
1.「python manage.py sqlmigrate record_app 0001」を実行

マイグレートファイルをデータベースへ反映
生成したマイグレートファイルをデータベースへ反映する
1.「python manage.py migrate record_app」を実行

admin.py」にモデル定義
「admin.py」に "BloodPressure"モデルを定義する
※ここに定義することで Django 管理サイトに追加されます
※Django 管理サイトの一覧に表示する項目を制御するために「BloodPressureAdmin」クラスを定義しています
 一覧表示項目の制御が不要な場合、「admin.site.register(BloodPressure)」の 1行だけで良い

実行とデバッグ
1.左メニューから「実行とデバッグ」アイコンをクリック
2.「実行とデバッグ」ボタン押下
3.「Django」を選択する
※VSCode起動毎に1度実施していれば、手順3は不要

Django 管理サイトにログイン
Django 管理サイトにログイン
1.ブラウザのURL欄に「http://127.0.0.1:8000/admin/」を入力して表示
2.「python manage.py createsuperuser」で登録していたスーパーユーザーでログインする

レコード追加
1.Blood pressure の「追加」ボタン押下

レコード追加情報入力
1.「最高血圧」、「最低血圧」を入力する
2.「保存」ボタン押下

レコード追加成功
登録成功
※ここでは割愛しますが、この管理サイトで「変更」、「削除」もできます

2-2. 自作画面を利用したアプリ作成

準備中

> tech-memo.club Topへ