しゃちの備忘録

プログラミングを中心とした技術関連の備忘録です(今のところ)

Djangoに触る(その2)

昨日の続きに挑みます. 昨日にもまして短めです. それでも書きたいなと思ったので書きます.

前回まで

teru0rc4.hatenablog.com

Djangoについて簡単に触れ, インストールとサーバの動かし方について. そして,Pollsというビューを表示するだけの簡単なアプリケーションを動かしました.

今日やったところ

はじめての Django アプリ作成、その2 | Django ドキュメント | Django

ここのmigrateまでです. migrate周りで混乱したのもあり,コードとかは昨日以上に短いです….

データベースをセットアップする

Djangoを動かす上で忘れてはならないのはデータベースの取り扱いです. これを使うことで,色々な認証情報などの管理をします.

データベースの構築には色々な種類がありますがデフォルトはSQLiteになっています. Pythonに標準で組み込まれていることもあり,今回はこれを使っていきたいと思います.

ちなみに変更する場合は, mysite/settings.pyの中のDATABASESdefaultの部分を変更すればいいはずです.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

またここでタイムゾーンや言語の設定もしていきます. デフォルトの時間設定は日本ではないため,今後データベースの記録を日本の時間でしていくために変更しておきます. mysite/settings.pyの中のLANGUAGE_CODETIME_ZONEを以下のように変更しておきます. こうすることで,日本語で日本時間の設定にすることができます.

LANGUAGE_CODE = 'ja'

TIME_ZONE = 'Asia/Tokyo'

あわせてPythonタイムゾーンを扱うためのモジュール`pytz`もインストールしておきましょう.

$ pip3 install pytz

テーブルを作成する(今回はしない)

mysite/settings.pyの中のにはINSTALLED_APPSという項目があり, ここにはこのプロジェクトでしようされるアプリケーションの一覧が記述されてます. (ここに書かれているものを全て使うというわけではないらしく,よく使われるものとして揃えてくれているらしいです.) ではいよいよデータベースのテーブルを作成していきます. ここでいうテーブルというのはいわゆるデータを取りまとめたシートのようなものです. イメージとしてはExcelのブックが近いと思います.

データベースを使用するということはすなわち,このテーブルを1つ以上使用することになります. なのでデータベースにテーブルを作成していきます.

ここからmakemigrationsmigrateを使用し,テーブルを作成していきますが, まだ自分の中で腑に落ちていないので,これについてはきっちり調べた結果を明日の記事でまとめます.

おわりに

2日目です.

時間があまり取れなかったのと, migrateの部分で混乱したので短めです. migrate難しいです….

きっちりmigrateについて調べて上で明日の記事では,admin作成の部分まで進めたいと思います.