巳年じゃないけど Python やろうぜ(その 21)
PostgreSQL の利用
Django はデフォルトで SQLite3 を利用しますが、他のデータベースを活用することもできます。今回はその中から PostgreSQL を利用してみようと思います。
PostgreSQL のインストールと設定
Windows の場合は GUI インストーラもあって、比較的楽にインストール・設定ができると思います。
Linux についてはいろいろと設定を変更しないといけないっぽくて、とりあえず Fedora に関するものについては Qiita にまとめました。
Fedora に PostgreSQL をインストールして使えるようにするまで - Qiita
Django から利用するためのデータベースを作成しておきます。Linux の場合は postgres というユーザーが作成されているはずですので、以下のコマンドを実行します。
su - postgres createdb django
Django の設定
PostgreSQL を Django から利用する場合、あらかじめ psycopg2 をインストールする必要があります。
pip install psycopg2
settings.py
の中のデータベースに関する部分を以下のように書き換えます。
# Database # https://docs.djangoproject.com/en/1.10/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'django', 'USER': 'postgres', 'PASSWORD': '(snip)', 'HOST': 'localhost', 'PORT': 5432, } }
マイグレーションと初期データの投入を再実行します。
./manage.py migrate ./manage.py loaddata initial_data
管理者ユーザーの情報もデータベースに格納されていますので、切り替えに伴って再度作成しておく必要があります。
django-admin createsuperuser
次回以降、WSGI による Apache HTTPD サーバとの連携についてお話をして、今回のシリーズはひとまず終了としたいと思います。