🙆

Shellスクリプトでdjangoの環境を作成する

2023/06/15に公開

はじめに

こんにちは。

djangoの勉強しているのですが、
環境作成が意外と手間ですし、コマンドをど忘れたりするんですよね。

考えた結果、スクリプトにすればいいんじゃね?と思って
shellスクリプトを作成してみました。

開発環境

OS : MacOS Venture 13.4
Python: 3.10.6
IDE : VScode for Mac
shell : zsh

スクリプト

django_auto_setup.sh
######################################
#①フォルダの作成
######################################

if [ -d ./"$1" ]; then
  echo "同名のフォルダがあるためフォルダを作成できませんでした。"
  exit 1
else
  mkdir "$1"
fi

###作成したフォルダへ移動
echo "##############################################################"
echo "フォルダ" "$1"を作成します
cd "$1"

######################################
#②python仮想環境作成
######################################
echo "##############################################################"
echo "python仮想環境を作成します"

python -m venv venv

if [ -d venv ]; then

  #仮想環境をアクティベート
  source venv/bin/activate
  
  #pipのアップグレート
  pip install --upgrade pip

  #jangoインストール
  pip install django
else
  echo "エラーの可能性があります。"
fi

######################################
#③djangoプロジェクト作成
######################################

echo "##############################################################"
echo "djangoプロジェクト "$2" 作成します"

if [ "" != "$2" ]; then
  django-admin startproject "$2" .
else
  echo "プロジェクト名がオプションで指定されていないようです。再度実行してください"
  exit 1
fi

######################################
#④アプリを作成
######################################

echo "##############################################################"
echo "djangoアプリ "$3" の作成を開始します"

if [ "" != "$3" ]; then
  python manage.py startapp "$3"
else 
  echo "アプリ名が指定されていないようです。再度実行して指定してください"
  exit 1
fi

echo "フォルダの作成~アプリまでの作成が完了しました。"

使い方

このスクリプトをプロジェクトを作成したいフォルダへ配置して、
実行するだけですが、引数を指定する必要があります。

指定方法は以下になります。

① プロジェクトやアプリを格納するためのフォルダ名
② 作成するプロジェクト名
③ 作成するアプリ名

sh django_auto_setup.sh ① ② ③

正常に作成が完了したら、以下の画像の通りになっているはずです。
※画像では②はtest_project、③はtestappと指定しています。

さいごに

僕自身、djangoの環境を作成する時に使用していますが、結構楽ができて満足しています。

今までshellスクリプトを作成したことがなかったので、勉強がてら調べて作成した物なので変な書き方だったら申し訳ないです。

今回は以上です。

Discussion