0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Django 環境構築をゼロからロケット画面表示するまで

0
Last updated at Posted at 2026-05-15

はじめに

未経験からエンジニア職の内定をいただき、入社まで残り2週間。
業務スタックである Nuxt + Django に少しでも慣れておきたくて、自作アプリの開発をスタートしました。

この記事は、その第一歩である 「Djangoの環境構築をゼロから始めて、開発サーバーでロケット画面を表示するまで」 の作業ログです。

想定読者

  • これから Python / Django を学び始める人
  • 環境構築でつまずいた経験がある人

この記事のゴール

ブラウザで以下の画面を表示できる状態になること。

http://127.0.0.1:8000/
→ 🚀 ロケットが飛んでいる「The install worked successfully!」画面

環境

  • macOS (Apple Silicon)
  • ターミナル: zsh
  • エディタ: VSCode
  • Docker は今回使わない(venv で進めます)

全体の流れ

この記事では以下を順番にやります。所要時間はおよそ1〜2時間。

  1. Python 3.11 のインストール
  2. GitHub リポジトリの作成と SSH 接続設定
  3. リポジトリのクローンと仮想環境の作成
  4. Django のインストール
  5. Django プロジェクトの作成
  6. 開発サーバーの起動 → ロケット画面確認
  7. 最初のコミットと push

Step 1: Python 3.11 をインストール

なぜ Python 3.11 なのか

Mac には最初から python3 が入っていますが、これは Mac標準のシステム用 Python(3.9系) で、開発には使わない方が安全です。理由は、システムが内部で使っている Python を勝手にいじると OS の動作に影響することがあるから。

なので、Homebrew で開発用の Python を別途インストール します。

インストール手順

Homebrew が入っていない場合は先にインストール:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Python 3.11 をインストール:

brew install python@3.11

確認:

python3.11 --version
# Python 3.11.15  ← こんな感じで表示されればOK

注意: コマンド名は python3.11 で明示する

Mac には複数の Python が同居している可能性があるので、バージョンを明示する習慣 が安全です。

python3.11 --version  # Homebrew で入れた 3.11(これを使う)
python3 --version     # システム標準の 3.9(触らない)

このあと「仮想環境」を作ると、その中では python というシンプルな名前で 3.11 が使えるようになります。

Step 2: GitHub リポジトリの作成と SSH 設定

リポジトリの作成

GitHub にログインして以下を設定:

  • Repository name: 好きな名前でOK
  • Public / Private: お好みで
  • Add a README file: ✅
  • .gitignore template: Python を選択
  • License: なし

.gitignore で Python を選んだ理由

.gitignore は「Git で記録しないファイルのリスト」です。

Python プロジェクトでは、以下のような 記録すべきでないファイル が大量に発生します:

  • __pycache__/ (Python のキャッシュ)
  • venv/ (仮想環境フォルダ、数百MBになる)
  • db.sqlite3 (ローカル DB、テストデータが入る)
  • .env (環境変数、パスワードや APIキーが入る)

これらを毎回手書きするのは面倒なので、今回はGitHub が用意してくれているテンプレートを使いました。

SSH の設定(HTTPS との違い)

GitHub にコードを push するには認証が必要です。方式は主に2つ:

方式 セットアップ 使い勝手 推奨
HTTPS 簡単 毎回認証 初心者向け
SSH 少し手間 一度設定すれば自動 業務標準

業務では SSH が前提になっていることが多い ので、今のうちに慣れておきます。

SSH 鍵(Ed25519)の生成

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_github

オプションの意味:

  • -t ed25519: 鍵の方式(最新の推奨方式)
  • -C "...": コメント(GitHub に登録しているメールアドレス)
  • -f ~/.ssh/id_ed25519_github: 出力ファイル名

パスフレーズを求められますが、設定推奨です(後で Keychain に保存すれば毎回入力不要)。

~/.ssh/config の設定

複数の鍵を使い分けるための設定ファイルを作成:

touch ~/.ssh/config
chmod 600 ~/.ssh/config
code ~/.ssh/config

以下を貼り付け:

# GitHub (Ed25519 key for personal use)
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github
  UseKeychain yes
  AddKeysToAgent yes
  IdentitiesOnly yes

Keychain に鍵を登録

ssh-add --apple-use-keychain ~/.ssh/id_ed25519_github

これで再起動後もパスフレーズ入力が不要になります(Mac の Keychain が自動で読み込んでくれる)。

公開鍵を GitHub に登録

公開鍵の中身をクリップボードにコピー:

pbcopy < ~/.ssh/id_ed25519_github.pub

GitHub の Settings → SSH and GPG keys → New SSH key で:

  • Title: MacBook (Ed25519) など、識別しやすい名前
  • Key: クリップボードから貼り付け

接続テスト

ssh -T git@github.com

初回は「このサーバー信頼する?」と聞かれるので yes で続行。
成功すれば以下が表示されます:

Hi your_username! You've successfully authenticated, but GitHub does not provide shell access.

これで GitHub と SSH で繋がりました。

Step 3: リポジトリのクローンと仮想環境の作成

リポジトリをクローン

cd ~/Projects   # 作業フォルダに移動(任意の場所でOK)
git clone git@github.com:your_username/ronten.git
cd ronten

仮想環境とは

プロジェクトごとに独立した Python の箱を作る仕組み です。

なぜ必要か:

  • プロジェクトAでは Django 4 を使いたい
  • プロジェクトBでは Django 5 を使いたい
  • 同じ Python に両方入れると競合する

仮想環境を使うと、プロジェクトごとに「このプロジェクト専用の Django」を持てます。

仮想環境を作成して有効化

python3.11 -m venv venv
source venv/bin/activate

成功するとプロンプトに (venv) がつきます:

(venv) your_name@your_mac ronten %

これが「仮想環境の中にいる」サイン。以降のコマンドはこの状態で実行します。

動作確認

python --version  # Python 3.11.15
pip --version     # pip ... (venv の中の pip)

仮想環境の中では、python と打つだけで 3.11 が使えるようになります。

Step 4: Django のインストール

pip install django djangorestframework django-cors-headers

3つ同時に入れている理由:

  • django: Django 本体
  • djangorestframework: API を作るため(後で使う)
  • django-cors-headers: フロントエンドからアクセスを許可するため(後で使う)

後で必要になるものを先に入れてしまう のが、何度もインストールコマンドを打たない工夫です。

確認:

django-admin --version
# 5.2.14 など

Step 5: Django プロジェクトの作成

django-admin startproject config .

末尾のドット(.)は絶対に忘れない

ここが地味に重要です。

  • ドットあり: 現在のフォルダ直下にプロジェクトファイルが作られる ✅
  • ドットなし: config/config/ のように入れ子になってしまう ❌

実行後の構成:

ronten/
├── README.md
├── .gitignore
├── venv/          ← 仮想環境(.gitignoreで除外済み)
├── config/        ← Django プロジェクトの設定
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py      ← Django のコマンド入口

config という名前にしたのは、Django の慣習で「プロジェクト全体の設定置き場」を config と呼ぶことが多いからです。

Step 6: 開発サーバーを起動してロケット画面を見る

python manage.py runserver

注意: manage.py のスペル

私はここで manage.pv とタイポして数秒詰まりました。
.py は Python ファイルの拡張子」 と覚えると、タイポしにくくなります。

タイポ防止には タブ補完 が有効です。python manage. まで打って Tab キーを押すと manage.py が自動補完されます。

起動成功時の表示

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). ...
Run 'python manage.py migrate' to apply them.

Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

「unapplied migration」の警告は今は無視してOK(次のステップで対応します)。

ブラウザで確認

http://127.0.0.1:8000/

🚀 ロケットが飛んでいる画面 が表示されれば成功です。
「The install worked successfully! Congratulations!」のメッセージが見えるはず。
スクリーンショット 2026-05-15 15.48.43.png

ターミナルにもアクセスログが流れます:

[15/May/2026 06:48:40] "GET / HTTP/1.1" 200 12068

200 は HTTP ステータスコードで「成功」を意味します。これが見えれば動いている証拠です。

サーバーを止める

Ctrl + C でサーバーを止めて、次のステップへ。

Step 7: GitHub に push

git status

以下のように表示されるはず:

Untracked files:
        config/
        manage.py

ステージング・コミット・push:

git add config/ manage.py
git commit -m "Set up Django project with config and manage.py"
git push

GitHub のリポジトリページをリロードして、config/manage.py が反映されていればゴール。

詰まりそうなポイントまとめ

実際にやってみて、ハマりやすかった/迷ったポイントをまとめます。

.gitignore を後から追加する

リポジトリ作成時に .gitignore を選び忘れても、GitHub上で後から追加できます:

  1. リポジトリの「Add file」→「Create new file」
  2. ファイル名に .gitignore と入力
  3. 右上の「Choose a .gitignore template」から Python を選択

ただし、一度コミットしたファイルは .gitignore に書いても無視されません。なるべく早く設定するのが安全。

おわりに

ここまでで Phase 0(環境構築) が完了しました。

次は Phase 1: Django だけで CRUD を一周 に進みます。具体的には:

  • 3行要約を保存するモデルの作成
  • マイグレーション
  • 管理画面で CRUD ができる状態

続編も書く予定なので、よかったらフォローしておいてください。

同じ場所で詰まっている人の助けになれば幸いです。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?