Djangoはプロジェクトを作っておいて、アプリ毎に細かく機能を分けて、プロジェクトで統合するみたいな形式を取るみたい。なのでまずはDjangoプロジェクトを作成
$ django-admin.py startproject myproject
とすると、カレントフォルダにmyprojectフォルダが出来る。ファイル構成を見ると、
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
となっている。myprojectフォルダ内のファイルに共通設定を書くという感じになりそうだ。PostgreSQLに接続するので、settings.pyを修正
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'hoge',
'USER': 'username',
'PASSWORD': '******',
'HOST': 'hostname or ip',
'PORT': '5432',
}
あと、psycopg2をインストールしていないので
$ sudo pip install psycopg2
とやって
$ cd myproject
$ python manage.py syncdb
とやると、hogeに色々テーブルが出来る。INSTALLED_APPSに書いてあるアプリに関するテーブルみたい。初期状態では以下のアプリが入るみたい。
django.contrib.admin - 管理用サイト
django.contrib.auth - 認証
django.contrib.contenttypes - ??
django.contrib.sessions - セッション管理
django.contrib.messages - ??
django.contrib.staticfile - 静的ファイル用アプリ
テーブルは以下のものが作られた
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_session
あと上のコマンド実行時に、管理者ユーザー作るかどうか聞かれる。とりあえず作った。
DB設定済ませたので、おもむろにアプリ作成。Railsの時と同様に傍聴情報の出力をやってみるか。
$ python manage.py startapp bocho
を実行するとbochoフォルダが出来てその中に
bocho/
__init__.py
admin.py
models.py
tests.py
views.py
が出来た。とりあえずここまで。