ProjectとApplication
Djangoでアプリケーションを作成する場合、
projectとappliationという単位が存在します。
django-admin.py startproject プロジェクト名
で作成されるのがプロジェクトであり、もっとも大きな一つのまとまりになります。
このプロジェクト内にあるmanage.pyを用いて、このプロジェクトの様々な設定を行っていきます。
プロジェクトに必要なテーブルとユーザの用意
python manage.py migrate
を行うと、
DBにDjnagoに必要なテーブルが作成されます。
一番最初のmigrate
はDjangoのプロジェクトに必ず必要なテーブルが作成されます。
(データベースとの接続設定はsetting.pyの中に記述されています。デフォルトではsqliteと呼ばれるdbを使用します。)
また、python manage.py createsuperuser
を行うと、
Djangoの管理ユーザを作成します。
ユーザ名、メールアドレス、パスワードの設定が行われます。
adminページ
管理ユーザが作成できたら、adminページにログイン可能になります。
adminページはDjangoの大きな特徴機能です。
adminページではプロジェクトの様々なデータの管理を行うことが可能です。
プロジェクト内に作成したアプリケーションのデータを確認だけではなく、追加、更新、削除することができます。
多くのwebアプリケーション開発では、こうしたデータの管理機能は標準搭載ではなく、
データベースクライアントで対応することが多くあります。
対してDjangoはadmin画面やORM、manage.py migrateによってSQLをほとんど排除しながら開発が可能になります。
また、管理画面は標準でも必要最小限の機能を要していますが、
拡張が可能であるため、ダッシュボードの追加なども可能となります。
python manage.py runserver
を実行するとDjangoの開発用サーバが立ち上がります。
ここで表示されたURLに/admin
を付け足すと、管理ページにアクセスが可能になります。
(たとえばlocalhost:8080
ならlocalhost:8080/admin
とします)
アプリケーションの追加
python manage.py startapp アプリ名
を実行するとapplicationディレクトリが作成されます。
applicationは設計によって大きく変わりますが、
幾つかの機能の塊だと思って置けばよいでしょう。
(データドメインが一つの区切りかもしれません)
Djangoは、ProjectとApplicationという2つの単位を持つことによって、
自然と機能やデータの分割を進め、再活用を高めることを可能にしています。
Applicationはディレクトリによって分割され、
その中にそのApplicationのデータモデルや機能を記述します。
言い換えれば、このディレクトリごとコピーすることで、
その機能を他のDjangoプロジェクトに再利用することが可能になります。
次回から、このApplicationを実装し、webアプリケーションを作成していきます。