はじめに
久しぶりにDjangoを使おうとしたら、構築方法をすっかり忘れてしまっていたため、環境構築手順とプロジェクトのディレクトリ構成についてまとめます。
目次
環境構築の手順
MacOSでPython3を使用した、Djangoの環境構築手順について解説していきます。
1. Python3のインストール
以下のコマンドを実行し、現在のバージョンを確認します。
もし Python 3.x.x
のようにPython3系のバージョンが表示されなければ、インストールを行いましょう。
python -V
以下のコマンドを実行し、Python3.12をインストールします。
brew install python3.12
インストールしたpython3.12の実行ファイルのシンボリックリンクを作成します。
ln -s /usr/local/opt/python@3.12/bin/python3.12 /usr/local/bin/python3
これによって、pythonコマンドが実行できるようになります。python3 -V
コマンドを実行し、Python 3.12.x
のようにメジャーバージョンとマイナーバージョンが 3.12
と表示されていたらインストール成功です。
2. 仮想環境の設定
python3の標準機能である「venv」を使用して任意の名前で仮想環境を作成します。
ここでは「divenv」の名前で作成しています。
python3 -m venv divenv
これによって、仮想環境ごとにインストールするパッケージを管理することができます。
「.gitignore」ファイルを作成し、各ファイルをgitの管理化から外します。
divenv
db.sqlite3
__pycache__
仮想環境を実行します。
source divenv/bin/activate
ターミナルに「divenv」と表示さていれば、仮想環境内にいることになります。
3. Djangoのインストール
「requirements.txt」ファイルを作成し、下記を記載します。
echo "Django==5.0" >> requirements.txt
「requirements.txt」ファイルにパッケージを記載することでまとめてインストールすることができます。
Pythonパッケージは PyPI で管理されています。
パッケージをインストールします。
pip3 install -r requirements.txt
- -r:このオプションを与えることで「requirements.txt」に記載されているパッケージを全てインストールすることができます。
4. プロジェクトの作成
任意の名前でプロジェクトを作成します。ここでは「app」の名前で作成します。
末尾に .
をつけることで、カレントディレクトリ直下にプロジェクトが作成されるようになります。
django-admin startproject app .
コマンドを実行することで、「app/」「manage.py」「db.sqlite3」が作成されます。
5. 環境設定の変更
タイムゾーンと言語のデフォルト設定を日本に変更します。
app/setting.py
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
- LANGUAGE_CODE:言語のデフォルト値を変更することができます。
- TIME_ZONE:タイムゾーンのデフォルト値を変更することができます。
6. データベースのセットアップ
プロジェクト作成時にデフォルトで設定されたマイグレーション情報をデータベースに反映させます。
python3 manage.py migrate
7. 開発サーバの起動
開発サーバーを起動させます。
python3 manage.py runserver
「http://127.0.0.1:8000/」にアクセスし、以下の画面が表示されればDjangoの環境構築は成功です。
ディレクトリ構成
完成系のディレクトリ構成になります。
.
├── app
│ ├── __pycach__
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── divenv
├── .gitignore
├── README.md
├── manage.py
├── db.sqlite3
└── requirements.txt
app/
Djangoアプリケーション全体を管理するためのフォルダ
_ _ pycach _ _ /
コンパイルされたモジュールのキャッシュが「.pyc」ファイルとして管理される。
これにより、プログラムの実行速度が速くなる。
_ _ init _ _.py
「app/」をPythonのモジュールとして認識させる役割を持ち、また、「app/」がインポートされた際に初期化したい処理を記述する場所としても機能する。
asgi.py
非同期通信を行うための設定ファイル。
settings.py
Djangoアプリケーションの設定ファイル。
urls.py
ルーティングを設定するためのファイル。
wsgi.py
WEBサーバとAPサーバ間の通信を仲介する設定ファイル。
divenv/
仮想環境を管理するフォルダ。
manage.py
Djangoアプリケーションを操作することができる実行ファイル。
db.sqlite3
SQLiteデータベースの実体。Djangoではデフォルトのデータベースとして設定されている。
requirements.txt
pythonパッケージをまとめてインストールするためのファイル。
さいごに
この記事が何かの一助になれれば幸いです。また、記事に間違いや改善点などありましたら、ぜひコメントをしていただけると嬉しいです。
参考記事