tsux.me 現役京大生エンジニア精進の日々

秒で始める Django ! 【環境構築】 【Mac向け】

Django のプロジェクトをホームディレクトリ直下 ~/ に作ります。

バージョンは基本的に最新のもので(特に開発開始時は)問題ないと思います。

操作ごとになるべくコマンドは分けているので、済んでいる部分や必要ない部分は飛ばしたり、カスタマイズしたりと、どうぞ柔軟にやってください。

コマンドはなるべく一行ずつ行うのが確実です。

Python3 インストールまで

XCode コマンドラインツールのインストール

sudo xcode-select --install

Homebrew のインストール

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

上のコマンドでも問題ないはずですが、古くなっている可能性があるので、基本的には公式HPにしたがってください。

Python3 インストール

brew install python

PATH を通す

基本問題はないと思いますが .bash_profile を使っていない場合は .zprofile など、ご自身の環境に合わせて変更してください。

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
. ~/.bash_profile

確認

python3 -V
which python3

これで python3 系が /usr/local/bin/python3 にインストールされていればOKです。

python2 系を使うことがなければエイリアスも設定しておくといいでしょう。

echo 'alias python="python3"' >> ~/.bash_profile
. ~/.bash_profile

Django のプロジェクト作成まで

Django のプロジェクトは複数のアプリケーションをひとまとめにしたものです。

今後、普通に python3 の仮想環境 venv を用いて my_blog プロジェクトにメインとなる blog アプリを作るとデフォルトで以下のようなファイル構成・位置関係になります。

  • venv/
  • my_blog/
    • blog/ メインとなる機能のアプリ
    • my_blog/ プロジェクト全体を統括するアプリ
    • manage.py 実行ファイル

ファイルの場所やアプリの置き方などは適切に import を行いさえすればどのような形でもいいと思いますが、僕はよく git などで公開する際に利用しやすいようにしてます。

例えば my_blog プロジェクトを作るとすると以下のような構成にしてます。

  • my_blog/
    • blog/ メインとなる機能のアプリ
    • project/ プロジェクト全体を統括するアプリ
    • venv/ 仮想環境
    • manage.py 実行ファイル
    • .gitignore
    • README.md
    • requirements.txt

このようにプロジェクト全体を統治するアプリ名を project に統一することで複数の git レポジトリのアプリを統合しやすいです。

このアプリ名はあとでフォルダ名を変えればいいという問題でもないので、プロジェクトを作る際にプロジェクト名 project で作成します。

それでは、ホームディレクトリ直下に my_blog プロジェクトを作ります。

プロジェクトディレクトリの用意

my_blog プロジェクト用のディレクトリを作り、そこへ移動します。
名前はわかればなんでもいいと思います。
場所も好みがあれば ~ の部分を好きに変えてください。

mkdir ~/my_blog
cd ~/myblog

以降、カレントディレクトリが、この my_blog/ に相応する場所であることを確認して行ってください。

仮想環境の用意

pyenv なんかも人気ですが venv が一番オーソドックスでいいのではないでしょうか。
僕は、比較的純粋なものが好きで、 Anaconda とか嫌いなタイプなので悪しからず。

python3 -m venv venv

Django その他パッケージのインストール

仮想環境をアクティベート(有効)にして pip3 で必要なパッケージをインストールします。

# 以下で仮想環境アクティベート
. ./venv/bin/activate
# 以下でインストール
pip install django Pillow

必要なパッケージは django があればとりあえずは問題ないです。
必要に応じて以下のようなパッケージを pip install します。 django 以外は今じゃなくても全然いいです。

  • django ジャンゴ本体
  • Pillow 画像扱う時に必要
  • djangorestframework API作る時に必要

requirements テキストの作成

ここで、Python パッケージ一覧となる requirements.txt を作っておきます。
これによって、後々サーバー上に環境構築するときなどにも楽になります。

pip freeze > requirements.txt

また、サーバー上などでパッケージ一覧を読み込んで一括インストールするときは pip install -r requirements.txt でできます。

プロジェクト作成

Django でプロジェクトを作成します。
django-admin startproject プロジェクト名 で作成します。
ここでは、プロジェクト名は共通で project にしてます。

django-admin startproject project

ディレクトリの整理などや github へのアップまで

プロジェクトのディレクトリ構成をいじる

この時、ディレクトリ構成は

  • my_blog/
    • venv/ 仮想環境
    • project/ プロジェクトフォルダ
      • project/ プロジェクト全体を統括するアプリ
      • manage.py
    • requirements.txt

となっているので、プロジェクトフォルダを無くし、以下のようにしたいです。

  • my_blog/
    • project/ プロジェクト全体を統括するアプリ
    • venv/ 仮想環境
    • manage.py
    • requirements.txt

のでプロジェクトフォルダ以下をプロジェクトフォルダの外に出したい(1つ上の階層に持っていきたい)ので、もちろん Finder とか VSCodeとかで動かしてもいいんですが、コマンドだと以下のようにダミーを用意して移動させます。

mv ./project ./dummy/
mv ./dummy/* ./
rm -r ./dummy

プロジェクトにアプリを作成する

python manage.py startapp アプリケーション名 でアプリを作成します。

bash python manage.py startapp blog

gitignore を作成する

vim .gitignore

で vim を起動し、必要に応じて以下のような感じで設定するといいでしょう。

# General
.vscode
.DS_Store
__pycache__
*.pyc

# Python3 Virtual Environment
/venv/

# Django Statics and Medias
/static/
/media/

# Django Local Settings
local.py

# Django Local Database Files
**/migrations/*
!**/migrations/__init__.py
db.sqlite3

この辺りは好みに合わせてカスタマイズしてください。

README テキスト作成

touch README.md

といったコマンド、または、

vim README.md

といったコマンドで REAEDME を作っておきましょう。

するとこのときディレクトリ構成が、

  • my_blog/
    • blog/
    • project/
    • venv/
    • manage.py
    • .gitignore
    • README.md
    • requirements.txt

っていう感じになっていれば OK です。

動作確認

ここで Django おなじみの manage コマンドで以下を行います。

# 静的ファイルを集めます
python manage.py collectstatics
# マイグレーションファイルを作成します
python manage.py makemigrations
# マイグレーションファイルをDBに反映します
python manage.py migrate
# 管理者権限のユーザーを作成します(入力あり)
python manage.py createsuperuser

以上のコマンドと下のサーバー立ち上げのコマンドは、頻繁に使うので覚えておきましょう。

ここで

python manage.py runserver

でサーバーを立ち上げ、WEBブラウザで localhost:8000/ にアクセスしましょう。

以下のような画面が立ち上がれば成功です。

Django worked successfully!

git 設定 github にアップ

github などのサービスでリポジトリを作りそのリポジトリの URL をコピーしておきましょう。

# git 初期化
git init
# github の登録
git remote add origin リポジトリのURL
# ステージ
git add .
# コミット
git commit -m "First Commit"
# プッシュ
git push origin master

ここまで行えば Django 環境は完成し、 github にもアップされました!
今後はバリバリとコードを書いちゃってください!

こちらに GitHub の参考リポジトリもあります。
参考リポジトリ

COMMENT

やない

良記事

返信する