"Django4 Webアプリ開発実装ハンドブック" という参考書で Django の勉強をしています.
復習を兼ねて参考書の内容を要約してみようと思い,この記事を書きました.
勉強した内容を何回かに分けて書いていこうと思います.
実行環境は Mac OS です.
↓参考書はこちらです.各ヘッダに対応する章を記述してあります.
仮想環境の立ち上げ(2章)
まずは, Django をインストールします.
※ Python のインストール方法は省略します.
Mac OS では pip コマンドで Python のモジュールをインストールすることができません.
apt コマンドで実行するように指示されますが,私の環境では apt コマンドで Django をインストールすることができなかったため,仮想環境内でプログラムを実行することにしました.
仮想環境は, Python のバージョン管理やモジュール管理が容易にできるというメリットがあります.
# test という名前の仮想環境を作成
$> mkdir test
$> python3 -m venv test
# 仮想環境の立ち上げ
$> source test/bin/activate
# Django のインストール
$> pip install --upgrade pip
$> pip install Django
# 仮想環境の終了
$> deactivate
これ以降のプログラムはこの仮想環境内で実行します.
プロジェクトの作成(3章)
# プロジェクトの作成(3章)
$> django-admin startproject [project name]
# ファイル構成
$> tree
.
└── [directory name]
├── [project name]
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
3 directories, 6 files
Web サーバの起動
プロジェクトフォルダの直下にある manage.py には, Web アプリの開発に必要なコマンドが収録されています.Web サーバの立ち上げも manage.py のコマンドを使って行うことができます.
$> python3 manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
February 02, 2025 - 08:19:26
Django version 5.1.5, using settings 'blogproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
ブラウザ上で http://127.0.0.1:8000/ にアクセスをすると Django が用意したトップページが表示されます.
manage.py に収録されているコマンドをいくつか紹介します.
startapp
Web アプリ用のソースファイルを生成します.
python3 manage.py startapp [アプリケーション名]
ファイル構造はこのようになっています.
これらのモジュールを編集することで, Web アプリ開発していきます.
webApp
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
makemigration
Django には,Python のソースファイルから直接データベースを操作するための仕組みとして”マイグレーション”という仕組みが用意されています.
startapp コマンドで作成された migrations フォルダ内の __init__.py には,データベースとテーブルを作成するためのプログラムを記述していきます.
makemigration コマンドを実行することで編集した内容を反映したデータベースを生成することができます.
createsuperuser
プロジェクトの管理者を作成します.
「Django管理サイト」を利用して,データベースを直接操作できます.
python3 manage.py createsuperuser
ユーザ名,メールアドレス,パスワードを入力すると,管理者が作成されます.
おわりに
今回は,3章までの内容をまとめました.
次回は 4章,実際に Web アプリを作成していきます.
備考
不備などございましたら,教えていただけると幸いです.