見出し画像

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

Python による WEB サービス開発フレームワーク Django について、その開発環境の構築の仕方を解説します!

ブログの記事はこちらです。

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 アプリケーション名` でアプリを作成します。

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/ にアクセスしましょう。

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

スクリーンショット 2020-02-10 17.01.53

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 の参考リポジトリもあります。

以上、秒で始める Django ! 【環境構築】 【Mac向け】でした!

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

ありがとうございます!
5
現役京大生の学生エンジニア。 PythonでWEB開発、機械学習。 知識整理も兼ねてなるべく1日1記事、ってのはとうの昔に諦めました。 twitter → https://twitter.com/tsux2000/ blog → https://tsux.me/
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。