LoginSignup
31
46

More than 5 years have passed since last update.

DjangoでPostgreSQLを使えるようにしたときのメモ

Last updated at Posted at 2015-09-23

環境:Debian8.2, Python3.4(virtualenv上に構築)

1, Djangoのインストール・新規プロジェクト作成
pip install Django
django-admin startproject hoge

2, PostgreSQLのインストール
apt-get install postgresql

3, libpq-devのインストール
(libpqは、C言語でつくられたPostgreSQL用インターフェイス。
各種アプリケーションインターフェイスのためのエンジンで、これがないと
PythonからPostgreSQLを使うことができない)

apt-get install libpq-dev

4, psycopg2のインストール
(psycopg2は、Python用のPostgreSQLアダプタ。これがないと以下略)

apt-get install python-psycopg2
pip install psycopg2

5, PostgreSQLに新しいユーザ、パスワードを作成
(PostgreSQLにスーパーユーザでログインし、
Djangoプロジェクトで利用するデータベース、ユーザを作成する)

su - postgres
psql(PostgreSQL対話モードにスーパーユーザでログイン)
CREATE ROLE testuser WITH PASSWORD 'testpasswd';(ユーザの作成)
CREATE DATABASE fuga OWNER testuser ENCODING 'UTF8';(データベースの作成)

PostgreSQLのコマンド詳細については
https://www.postgresql.jp/document/9.4/html/sql-commands.html

6, Django設定ファイルにデータベースの設定を書き込む
1で作成したhogeプロジェクト内のsettings.pyで、
以下のようにデータベース設定を変更

settings.py
DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.postgresql_psycopg2',
         'NAME': 'fuga',
         'USER': 'testuser',
         'PASSWORD' : 'testpasswd',
         'HOST' : '127.0.0.1',
         'PORT' : 5432,
     }
 }

7, マイグレーションの実行
python manage.py migrate
を実行し、エラーが出なければOK。

31
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
46