Python | Django | モデルフィールドリファレンスの使い方
公開日:2021/6/28
Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.
前記事にて,「モデルにおけるマイグレーション操作」を記した.前記事での設定をそのまま引き継いだ上で,本記事では,「モデルフィールドリファレンスの使い方」を記す.
◆実施環境
Python 3.8.8
Django 3.2.3
■モデルフィールドリファレンスの使い方
“model_app/models.py"に2つのクラス(“Cake", “sales_amounts")があったが,"sales_amounts"クラスを削除し,"Cake"クラスに以下のモデルフィールドリファレンスを追記をした.
・CharField
・DateField
・IntegerField
・BooleanField
・EmailField
・URLField
・TextField
追記後,"models.py"は以下のように編集した.
from django.db import models
class Cake(models.Model):
cake_name = models.CharField(max_length=40)
birthplace = models.CharField(max_length=40)
birthday = models.DateField(default='1900-01-01')
inventor = models.CharField(max_length=40)
sales_amounts = models.IntegerField()
like = models.BooleanField(default=True)
email = models.EmailField(db_index=True)
web_site = models.URLField()
feed_back = models.TextField(null=True,blank=True)
ターミナルを開き,”conda activate 仮想環境名”を実行し,仮想環境に移行する.”model_project”のディレクトリで”python manage.py makemigrations model_app –name add_cake”を実行する.実行するとターミナルに以下が出力される.
Migrations for 'model_app':
model_app\migrations\0001_add_cake.py
- Create model Cake
同時に"model_project/model_app/migrations"に"0001_add_cake.py"が作成される.
ターミナルの”model_project”のディレクトリで”python manage.py migrate model_app”を実行する.実行するとターミナルに以下が出力される.
Operations to perform:
Apply all migrations: model_app
Running migrations:
Applying model_app.0001_add_cake... OK
VS Codeの”View”をクリックし,以下”Command Palette”をクリックする.
“SQLite”を検索し,以下”SQLite: Open Database”を選ぶ.
その後,”db.sqlite3″を選ぶ.
“VS Code”に以下”SQLITE EXPLORER”が追加される.
”SQLITE EXPLORER”を開くと,"model_app_cake"が以下のように追加される.
“model_app/admin.py"を以下のように編集する.
from django.contrib import admin
from .models import Cake
admin.site.register(Cake)
“model_project/settings.py"の109行目付近のTIME_ZONEを"Asia/Tokyo"に変える.これにより,タイムゾーンを東京に変更することができる.もしも,管理画面の言語を日本語にしたい場合は,LANGUAGE_CODEを"en-us"から"ja"に変える.
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Tokyo' # 変更箇所
USE_I18N = True
USE_L10N = True
USE_TZ = True
ターミナルの”model_project”のディレクトリで”python manage.py createsuperuser”を実行する.以下出力されるので,適当な名前,メールアドレス,パスワードを入力し,クリックする.
Username (leave blank to use '名前'):
Email address:
Password:
Password (again):
Superuser created successfully. # 上記入力後,出力される.
ターミナルの”model_project”のディレクトリで”python manage.py runserver”を実行すると以下が出力される.
System check identified no issues (0 silenced).
June 28, 2021 - 02:36:17
Django version 3.2.3, using settings 'model_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
“http://127.0.0.1:8000/”をクリックし,ブラウザを開くと以下のように表示される.
ブラウザのURLに”http://127.0.0.1:8000/admin”を入力し,ブラウザを開くと,以下が出力される.上記で設定した"Username"と"Password"を入力し,"Log in"をクリックする.
クリックすると,以下のように"Django Administration"に入ることができる.
上記の"Cakes"をクリックすると,以下ページに遷移する.赤枠の"ADD CAKE"をクリックする.
以下画面に遷移し,内容を入力することができる.
以下のように内容を入力し,"SAVE"をクリックする.
以下画面に遷移し,赤枠のように"Cake object"が無事に追加されたことが分かる.
VS Codeに戻り,”SQLITE EXPLORER”の"model_app_cake"を右クリックし,"show table"をクリックする.
クリックすると,上記で入力した内容がデータベースにも反映されていることが分かる.
以上