(1).djangoでプロジェクトを作成 する。
djangoをダウンロードし、pathを設定する。
記載内容は以下の通り。
PATH=~/work/Django-1.1.1/django/bin/:$PATH
export PATH
vim ~/.bashrc
source ~/.bashrc
で、django-admin.pyにパスが通ったところでプロジェクトを作成。
django-admin.py startproject datactrl
動くか確認する。
cd datactrl
python manage.py runserver
(2).Django アプリの作成
python manage.py startapp regdata
(3).Data Baseの作成
一度postgresユーザにログイン(postgresql install時に作成したユーザー名)してからデータベースを作成する。
まず、ユーザーを作成する。(-Pでパスワード付きにしないと manage.py syncdbでエラーとなる)
createuser -P newuser
※Option の説明
-a(--adduser) スーパーユーザーとなる。他のユーザーを追加することが可能
-d(--createdb) データベースの作成が可能
-U(--username) 接続ユーザー名を指定。
-P(--pwprompt) ユーザーのパスワードプロンプトを表示。
それからこのユーザー名をsettings.pyのDATABASE_USERに追加すること。
sudo su postgresql
cd datactrl
createdb mydb
(4).settings.pyの設定
設定をそのまま 転記する。(※設定していない部分は省略する。)
DATABASE_ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'mydb' # Or path to database file if using sqlite3.
DATABASE_USER = 'newuser' # Not used with sqlite3.
DATABASE_PASSWORD = '*********' # Not used with sqlite3.
DATABASE_HOST = 'localhost' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
# system time zone.
TIME_ZONE = 'Asia/Tokyo'
LANGUAGE_CODE = 'ja'
(5).syncdb
python manage.py dbsync
※DATABASE_NAME = 'postgres'を使うとエラーになった。なんでだろ??
デー タベースができているか確認してみましょう。
cd (home directoryに戻る)
psql mydb
mydb#
mydb# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
-----------+----------+------------------+-------------+-------------------+-----------------------
mydb | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres
: postgres=CTc/postgres
mydb#\dt
リレーションの一覧
スキーマ | 名前 | 型 | 所有者
----------+----------------------------+-------+-----------
public | auth_group | table | newuser
public | auth_group_permissions | table | newuser
public | auth_message | table | newuser
public | auth_permission | table | newuser
public | auth_user | table | newuser
public | auth_user_groups | table | newuser
public | auth_user_user_permissions | table | newuser
public | django_content_type | table | newuser
public | django_session | table | newuser
public | django_site | table | newuser
(10 行)
正常にできていることが確認できました。
※ フィールドタイプ
smailint / int2 2 バイト整数
integer / int / int4 4 バイト整数
bigint / int8 8 バイト整数
decimal(a, a) / numeric(a, s) 10 進型
real / float4 6 桁単精度浮動小数点
double precision / float8 15 桁倍精度浮動小数点
serial 4 バイト順序
bigserial 8 バイト順序
date 日付
time 時間
timestamp 日付時間
char(文字数) / character 固定長文字列 (最大 4096 文字)
varchar(文字数) / charcter varying 可変長文字列 (最大 4096 文字)
text 無制限テキスト
boolean / bool true / false