年末は、なかなか進められなかった
Dockerの業務に力を入れていた
退職とかの引継ぎとか
また、マシーンをほぼ初期から動かすことになったので環境諸々の設定が最初からで億劫だった…
そして、年始からはインフルエンザに数年ぶりに罹って死にそうだった
データベースの設定
- mysite/settings.pyでデータベース情報を記載するようだ
- あらかじめ諸々入ってるみたい(不要なものは外してくれって書いてる)
django.contrib.admin - 管理(admin)サイト。まもなく使います django.contrib.auth - 認証システム django.contrib.contenttypes - コンテンツタイプフレームワーク django.contrib.sessions - セッションフレームワーク django.contrib.messages - メッセージフレームワーク django.contrib.staticfiles - 静的ファイルの管理フレームワーク
postgresのinstall、起動とデータベース作成
- sqlite3はあれなんでpostgresqlを使用することにした
- 本番デプロイとかを視野にいれるとMySQLやPostgreSQLが候補になるんじゃないだろうか
- settingでdb情報変更
$ python manage.py migrate
modelの作成
投票アプリでは、質問と選択の2つのモデルを作成します。質問には、質問と発行日があります。選択肢には、選択肢のテキストと投票集計の2つのフィールドがあります。各選択肢は質問に関連付けられています。
- polls/models.pyにモデル情報を記載していく
from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
- ここでは、各モデルはdjango.db.models.Modelをサブクラス化するクラスによって表される。各モデルには多数のクラス変数があり、それぞれがモデル内のデータベースフィールドを表す。
- ForeignKey を使用してリレーションをしているとのこと
モデルを有効にする
- mysite/settings.pyにモデル情報に追加する
$ python manage.py makemigrations polls
apiで遊んで見る
- なるほどちょっとよく分からない
管理画面の作成
- Djangoの最も良いところの一つなんじゃないだろうか
管理ユーザ作成
$ python manage.py createsuperuser