PythonAnywhereについての詳細はこちらにまとめたが、今回は、Python Anywhere上でDjangoのアプリをリリースする手順について紹介する。
Python Anywhereのコンソールから仮想環境の作成、アプリのダウンロード
1. Python Anywhereのサイトから仮想環境の作成
仮想環境の作成には、コンソールを立ち上げ、以下のmkvirtualenvコマンドを実行するとよい。
(コンソールを立ち上げるには、画面からConsoleタブ→Bashをクリックする)
終了すると、自分が指定した環境名の仮想環境が作成され、activateされた状態になる。
ちなみにdeactivateするには、
を実行する。
activateしていない状態からactivate状態にするには、
を実行する。
2. 自分の作成したDjangoのアプリを自分のクラウドにアップロードする
方法は、git経由とファイルをアプロードする方法の2通りある。
- gitにアプリを上げている場合は、git cloneを用いる
- ブラウザの画面から、Files→UploadFilesでローカルからアップロードする
3. Djangoのインストール
Djangoのインストールには、以下のコマンドを実行する。
次に、Django以外にアプリケーションの実行に必要なライブラリもインストールする。
4. DBのマイグレートする
Djangoとその他ライブラリのインストールが完了したら、マイグレートをして、DBを作成する。
以下のコマンド実行
python manage.py makemigrations アプリ名
python manage.py migrate
Python Anywhereのアプリ設定
Python Anywhereの画面から、アプリの設定を行う。
まず、画面→Web→Add a new web appをクリックする。
今回は、自分が作成したアプリをリリースするのでDjangoでなく、Manual Configurationを選択する。
画面→Webから以下の2点を変更
- Working directory
Web画面のCode:にある、Working directory:を自分がuploadしたプロジェクトのパスに設定する。
- Virtualenv
Virtualenvには、自分が作成した仮想環境のパスに設定する。(~/.virtualenvs/myenv)
- wsgiファイル
Code: のWSGI configuration file:のファイルをクリックする。
74行目以降、DJANGOの設定について記載されている部分に以下のコードを挿入する。
import sys
#
## assuming your django settings file is at '/home/User/mysite/mysite/settings.py'
## and your manage.py is is at '/home/User/mysite/manage.py'
path = '/home/User名/プロジェクトのパス'
if path not in sys.path:
sys.path.append(path)
os.chdir(path)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "プロジェクト名.settings")
import django
django.setup()
#
## then:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
編集後には、画面上のWeb画面からReloadを実行(画面上部の緑色のボタン)する。
- ALLOWED_HOSTSに自分のホスト名を追加
最後に、Djangoのプロジェクトのsettings.pyファイルに以下の記述を追加する。
最後に、画面上のWeb画面からReloadを実行(画面上部の緑色のボタン)して、
http://自分のアカウント名.pythonanywhere.com/
にアクセスすると自分が作成したアプリを見ることができる。