データベースを使おう! (1/5)
作成:2017-12-30 08:35
更新:2017-12-30 08:35
更新:2017-12-30 08:35
■settings.pyのデータベース設定
Djangoでデータベースを利用する際には、いくつかチェックしておくことがあります。それは「利用するデータベースの設定」「モデルの定義」「マイグレーション」といったものです。
まず、データベースの設定から説明しましょう。Djangoでは、プロジェクト名のフォルダ(ここではプロジェクトフォルダ内にある「djangoapp」フォルダ)の中に設定情報をまとめた「
settings.py」というファイルが用意されています。利用するデータベースの設定も、この中に記述されています。
データベースの設定は、「DATABASES」という値として用意されています。デフォルトでは、以下のような内容が記述されているでしょう。
これがデータベース設定です。ENGINEには、使用するデータベースエンジンのクラスを指定します。これはdjango.db.backends.sqlite3 という値が設定されていますが、これがSQLite3のデータベースエンジンになります。
NAMEにデータベース名(SQLiteの場合はデータベースファイルのパス)を指定します。ここでは、os.path.joinというものを使っていますが、これは指定したディレクトリやファイル名をつなぎ合わせて1つのパスにまとめるためのものです。BASE_DIRはこのプロジェクトフォルダのパスであり、そこにあるdb.sqlite3のファイルパスをこれで作成していたのですね。
この2つの設定で、SQLite3によるデータベース利用が行えるようになっています。SQLite3の場合、ENGINEとNAMEだけあればもうデータベースが使えるようになるのです。
この他、INSTALLED_APPSについてもチェックしておく必要があるでしょう。おそらくINSTALLED_APPSは以下のようになっているはずです。
先に、hello.apps.HelloConfigを追加しましたね。これが重要です。この記述がないと、この後で行うマイグレーションなどでhelloアプリが認識されなくなります。
また、その他の値も削除はしないで下さい。これらは、データベースを利用する上で必要となるアプリです。これらの一部が削除されていると正しくデータベースの処理が行えなくなります。
まず、データベースの設定から説明しましょう。Djangoでは、プロジェクト名のフォルダ(ここではプロジェクトフォルダ内にある「djangoapp」フォルダ)の中に設定情報をまとめた「
settings.py」というファイルが用意されています。利用するデータベースの設定も、この中に記述されています。
データベースの設定は、「DATABASES」という値として用意されています。デフォルトでは、以下のような内容が記述されているでしょう。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
これがデータベース設定です。ENGINEには、使用するデータベースエンジンのクラスを指定します。これはdjango.db.backends.sqlite3 という値が設定されていますが、これがSQLite3のデータベースエンジンになります。
NAMEにデータベース名(SQLiteの場合はデータベースファイルのパス)を指定します。ここでは、os.path.joinというものを使っていますが、これは指定したディレクトリやファイル名をつなぎ合わせて1つのパスにまとめるためのものです。BASE_DIRはこのプロジェクトフォルダのパスであり、そこにあるdb.sqlite3のファイルパスをこれで作成していたのですね。
この2つの設定で、SQLite3によるデータベース利用が行えるようになっています。SQLite3の場合、ENGINEとNAMEだけあればもうデータベースが使えるようになるのです。
■INSTALLED_APPSもチェック!
この他、INSTALLED_APPSについてもチェックしておく必要があるでしょう。おそらくINSTALLED_APPSは以下のようになっているはずです。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello.apps.HelloConfig',
]
先に、hello.apps.HelloConfigを追加しましたね。これが重要です。この記述がないと、この後で行うマイグレーションなどでhelloアプリが認識されなくなります。
また、その他の値も削除はしないで下さい。これらは、データベースを利用する上で必要となるアプリです。これらの一部が削除されていると正しくデータベースの処理が行えなくなります。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※データベースの設定 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ※インストールアプリの設定 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'hello.apps.HelloConfig', ]
※関連コンテンツ