【Django】Pythonanywhreでデプロイするアプリを切り替える方法。

1. 現在デプロイしているappを削除する。(pythonanywhere)
2. add a new web appを選択して、初期設定をしていく
3. consoleで仮想環境を構築し、githubのレポジトリからcloneを作る
4. pythonanywhereのwebページでの作業
3. staicの設定


1. 現在デプロイしているappを削除する。

画像1

pythonanywhereのheader部分にあるwebを押すと、アプリを設定するページに来るので、そのページの下の方にある、Deleteボタンでデプロイしているアプリを削除。


2. add a new web appを選択して、初期設定をしていく

先ほどと同じページのなかに、add a new web appというボタンがあるので、そこを押します。
nextを押していくと、

スクリーンショット 2020-10-20 10.38.41

こいう画面になるので、ここでは、Djangoではなく、Manual configurationを選択!


3. consoleで仮想環境を構築し、githubのレポジトリからcloneを作る

ここまでやったら、次はconsoleでの作業です。

スクリーンショット 2020-10-20 10.42.31

dashboardにいき、new console: の下のBashを選択。
すると、consoleの画面に行けます。

それではまず、仮想環境を構築していきます。(構築といっても、一瞬ですが、)

virtualenv -p python3.7 differential-venv

(differential-venv)は仮想環境の名前です。自分の好きな名前に設定しましょう。pythonのバージョンは自分がlocalで使っているものにした方が、おそらく不具合が起きにくいです。

cd differential-venv
source bin/activate

これで、仮想環境が起動します。仮想環境が起動したら、必要なライブラリをインストールしていきます。

pip install django
pip install matplotlib
pip install pillow

djangoのインストールは絶対にしてください!
他のライブラリは、自分が使うものをインストールしてやってください。

次は、githubのレポジトリから、cloneを作ります。(githubへのレポジトリへのpushとかは、省きます。)m(_ _)m

git clone (git hubのurl)



4. pythonanywhereのwebページでの作業

まず、pythonanywhereのwebのページに移動してください。

スクリーンショット 2020-10-20 11.36.03

Codeという部分と、Virtualenvという部分に、pathを設定していきます。
CodeのSource codeと、Working directoryはmanage.pyがあるところを設定してください。Virtualenvのところは、virtualenv -p python3.7  ... ので作った仮想環境のディレクトリを指定してください。

そしたら、Codeの上から3つ目にある、wsgi fileを編集していきます。

画像5

この部分以外はいらないので、削除してください。
そしたら、コメントアウトを消して、pathの編集(manage.pyがあるところへのpath)と、settingsの位置を知らせて(12行目)、いらないコメント(1,2行目)を削除して、

スクリーンショット 2020-10-20 11.54.35

こんな感じにしてやってください。

これでwsgi fileの設定は完了です。

次は、pythonanywhereにアップロードしているsettings.pyで、ALLOWED_HOSTSにpythonanywhereを追加します。

pythonanywhereのFilesページに行くと、アップロードしているファイルを編集できるので、settings.pyにいき、ALLOWED_HOSTSを追加していきましょう。

スクリーンショット 2020-10-20 13.06.29

ついでにここの、DEBUG = Trueを、DEBUG = Falesに変えて、デバックモードをオフにしておきましょう。

終わったら、ファイルをSaveして、

スクリーンショット 2020-10-20 13.09.00

webのページのReload(緑のやつ)ボタンを押しましょう。(ちなみに、このボタンは、何かしら変更を加えたら、こまめに押すことをお勧めします。)

いちよ、この状態でもデプロイはできています!
ただ、staticでcssとかimageを設定している場合は、staticの設定をしないと、うまく表示されないので、ここから、その設定をしていきます。

3. staicの設定

まず、pythonanywhereにアップロードしている、settings.pyを編集していきます。

settings.py(pythonanywhereの)最後の方に、

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

を追加してください。意味は、manage.pyのあるディレクトリのstaticフォルダーにstaticファイルを集めるという意味です。

これを追加して、Saveしたら、コンソールに移動して、manage.pyがあるフォルダに移動します。

python manage.py collectstatic

上のコードを実行すると、STATIC_ROOTで指定した場所にstaticファイルが集められます。

ここまできたら、あと残る作業は1つです。

pythonanywhereのwebのページにいってください。

スクリーンショット 2020-10-20 13.15.43

ここに、URL = /static/というのと、Directory = (STATIC_ROOTで指定したいち)を設定してください。あとは、webのベージの上の方に戻ってReloadボタンを押すだけです。

完了!

Reloadボタンの上にあるConfigulation forの後ろのURLを押すと、自分がデプロイしているサイトを見ることができます。!

この記事が気に入ったらサポートをしてみませんか?