libro
www.tuyano.com
初心者のためのDjango 2.0入門

データベースを使おう! (1/5)

作成:2017-12-30 08:35
更新:2017-12-30 08:35

■settings.pyのデータベース設定

Djangoでデータベースを利用する際には、いくつかチェックしておくことがあります。それは「利用するデータベースの設定」「モデルの定義」「マイグレーション」といったものです。

まず、データベースの設定から説明しましょう。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の場合、ENGINENAMEだけあればもうデータベースが使えるようになるのです。


■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アプリが認識されなくなります。

また、その他の値も削除はしないで下さい。これらは、データベースを利用する上で必要となるアプリです。これらの一部が削除されていると正しくデータベースの処理が行えなくなります。

※プログラムリストが表示されない場合

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',
]
※関連コンテンツ

「初心者のためのDjango 2.0入門」に戻る