概要
Djangoのプロジェクト作成はdjango-admin startproject
で行う。新規にプロジェクトディレクトリーを作成する方法と、既存のディレクトリーに作成する方法がある。
新規にプロジェクトディレクトリーを作成する方法では、プロジェクト名のみを指定する。
1 |
$ django-admin startproject [プロジェクト名] |
この場合プロジェクト名と同じディレクトリーが作成され、その下に同じ名前のサブディレクトリーとmanage.py
ファイルが作成される。
1 2 3 |
プロジェクト名 ├── manage.py └── プロジェクト名 |
既存のディレクトリーに作成する方法では、第1引数にサブディレクトリー、第2引数に既存のプロジェクトディレクトリーを指定する。
1 |
$ django-admin startproject [サブディレクトリー] [プロジェクトディレクトリー] |
この場合、既存のプロジェクトディレクトリーの下にサブディレクトリーとmanage.py
ファイルが作成される。
1 2 3 |
プロジェクトディレクトリー ├── manage.py └── サブディレクトリー |
何れの場合もサブディレクトリーの内容は同じで、プロジェクト全体に関する設定ファイルなどが作成される。
manage.py
はコマンドラインで管理レベルの操作を行うためのファイル。
プロジェクト名だけを指定する場合
プロジェクト名だけを指定した場合は、その名前でディレクトリーが作成され、その下に同じ名前のサブディレクトリーとmanage.py
ファイルが作成される。
1 |
$ django-admin startproject testproject |
もし同じ名前のディレクトリーが既に存在していた場合はエラーとなる。
1 2 |
$ django-admin startproject testproject CommandError: '/home/vagrant/test/django/testproject' already exists |
以下は新規作成されたプロジェクトディレクトリーの内容
1 2 3 4 5 6 7 8 |
testproject ├── manage.py └── testproject ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py |
サブディレクトリーの下には、プロジェクト全体に関する設定ファイルが作成される。たとえばsettings.py
ファイルは、プロジェクトの言語やタイムゾーン、データベースなどに関する設定を記述する。
既存のディレクトリーに作成する場合
空のプロジェクトディレクトリーを作成し、第1引数にサブディレクトリー、第2引数にプロジェクトディレクトリーを指定して実行する。
1 2 |
$ mkdir testproject $ django-admin startproject project_settings testproject |
もし指定したプロジェクトディレクトリーが存在しない場合はエラーになる。
1 2 |
$ django-admin startproject project_settings testproject CommandError: Destination directory '/home/vagrant/test/django/testproject' does not exist, please create it first. |
なお、以後の作業をプロジェクトディレクトリー内で行うことを想定して以下のように実行してもよい。
1 2 |
$ mkdir testproject && cd testproject $ django-admin startproject project_settings . |
この場合のディレクトリー構成は以下のようになる。
1 2 3 4 5 6 7 8 |
testproject/ ├── manage.py └── project_settings ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py |