-
django-admin.py startproject proj_name
djangoをインストールするとdjango-admin.pyというプログラムが実行可能になります。 最初に実行するコマンドがこのdjango-admin.pyです。
このコマンドを実行するとプロジェクト名として指定したproj_nameと同じディレクトリが カレントディレクトリに生成されます。Djangoではアプリケーションをこのプロジェクトという単位で 管理していきます。プロジェクトを作成すると、__init__.py, manage.py, settings.py, urls.pyの4つの ファイルが生成されます。
manage.pyでは、DBへのアクセスや開発したアプリケーションと全く同じ環境をサポートしている インタプリタモードなどを使用することができます。
settings.pyはタイムゾーンやドキュメントルートなどのアプリケーションの基本設定を記述します。 Djangoで提供されているユーザ管理ライブラリやセッション機能など、アプリごとに必要となるライブラリの インポートもこのファイルで行うことになります。
urls.pyは、URLマッパと呼ばれ、URLとそれに応答するハンドラを定義するファイルです。 DjangoはこのURLマッパのおかげで、クールなURLを簡単に設定することが出来ます。 -
python manage.py shell
このコマンドを実行することで、プロジェクト環境をサポートしたインタプリタモードを 使用することができます。
-
python manage.py runserver
このコマンドを実行することで、Djangoの簡易Webサーバを起動することができます。 ローカルマシン上での開発時には非常に役に立つもので、開発したものをその場で ブラウザごしに確認することが出来ます。
-
python manage.py startap app_name
モデルを作成するために使います。
Djangoにおけるモデルとは、いわゆるテーブルを定義するためのクラスです。 上記コマンドを実行すると、モデルを記述するためのディレクトリと基本プログラムが 生成されます。開発者は、app_name/models.pyにモデルを定義していき、app_name/views.pyに ビューを作成していくことになります。 -
python manage.py syncdb
上記で定義したモデルを実際のDBに反映させるためのコマンドです。
上記コマンドを実行する前に、settings.pyのDATABASE_ENGINE, DATABASE_NAME等の データベース周りの設定を済ませておきましょう。また、データベースそのものまで作成してくれる 訳ではないので、以下のように、お使いのデータベースシステムに合ったコマンドを実行して、 データベースを作成しておきましょう。データベース名は、settings.pyのDATABASE_NAMEで定義したもの と合わせる必要があります。
$ createdb db_name -O www-data
定義したクラス名がDB名のサフィックスとして付与される形でテーブルが作成されます。 どのようにテーブルが作成されるかは、「python manage.py dbshell」にて確認できます。 また、Postgresqlの場合は「psql -l」で実際にDBが作成されていることを確認してみましょう。
注意点としては、モデルのメンバを追加・削除・変更した際、削除や変更などといったテーブルの 仕様変更に完全に同期できないケースもあるようです。これは恐らく、実際に動作しているデータベースシステム の機能制約によるものだと思います。
例えば、Postgresqlだと、テーブルへの追加・カラム名のリネームくらいはサポートしているのですが、 商用データベースのようなカラムの型の変更や削除はできません。 従って、syncdbで完全に同期できないのもうなずけます。このような現象を防ぐためにも、
$ dropdb db_name
と一旦データベースを全削除して再度同期をとることをお勧めします。
$ createdb db_name -O www-data
$ python manage.py syncdb
-
python manage.py dbshell
このコマンドを実行すると、プロジェクトで作成したデータベースにログインすることができます。 Postgresqlのpsqlコマンドで作成したデータベースにログインできる機能と同じで、 テーブル定義やSQL文を発行してインタラクティブにテーブルにアクセスすることができます。