Django入門その後に(4)〜繋がるDB〜
ここではデータベースとDjangoを繋げます。 繋がるストーリー、カラフルストーリーです。(意味不明)
カラフルストーリーのPVは声優系PVとしては珠玉の出来映えです。 10代の素材を損なわない、制服という分かりやすい記号に、2人のダンシングスキルそして、ワンカットPVという努力と工夫の詰まった大変素晴らしいものです。
1.データベースの設定はどこで決める?
データベースへの接続設定はsettinngs.pyに書きます。
settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
標準ではsqlite3に繋がるようになってます。 sqlite3ってなんだよって人もいると思いますがその謎はすぐに解けます。
2.データベースの設定を実際のデータベースに反映させよう
とりあえず何も考えずにマイグレーション(DjangoとDBを同期させる)という処理をやってみましょう。
$ python manage.py migrate
Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying sessions.0001_initial... OK
なんか色々動きましたね!
もう一回フォルダを見てみましょう
├── db.sqlite3: ★なんか出来てる! ├── info │ (中略) ├── manage.py └── seiyuu_info ├── 中略
db.sqlite3というのがデータベースの実体になります。
3.sqlite3に入って実際に作成されたデータベースを確認してみよう
今回生成されたデータベースの中に入ってみましょう。
sqlite3 [接続先のデータベース] $ sqlite3 db.sqlite3
SQLite version 3.16.0 2016-11-04 19:09:39 Enter ".help" for usage hints. sqlite> sqlite> sqlite> sqlite> sqlite> .tables ★このコマンドでテーブルの一覧が見れます auth_group auth_user_user_permissions auth_group_permissions django_admin_log auth_permission django_content_type auth_user django_migrations auth_user_groups django_session sqlite>
先ほどのmigrateというコマンドで色々できました。 じゃこれって何なんだろうというのも絵にしました。
マイグレートについて |
---|
ここまでデータベースの定義なんて何一つ書いてませんが、テーブルがいくつかできてますね。 何かというと、Djangoは標準でテーブルをいくつか作ります。例えばセッション管理とかユーザー情報みたいなところを標準で生成します。 うーん、至れり尽くせりですね
次は実際に声優情報のデータベースを追加していきましょう。