BuzzLog / バズログ

BuzzLog / バズログはニュースとエンターテインメントを伝えるメディアです

Heroku に Django アプリを Deploy してみた

Heroku で作った DjangoPython アプリをデプロイしてみました。
ここではその時のメモを残します。

追加するファイル

runtime.txt

heroku サーバー側で動作する Python のバージョンを指定するために追加する。

requirements.txt

依存するライブラリを指定するために必要。 heroku デプロイ時にこのファイルに書かれたモジュールが pip でインストールされる。

Procfile

“web: gunicorn mysite.wsgi –log-file -”

こんなおまじないを追加する。

setting.py を修正する。

 +# update db settings
 +import dj_database_url
 +db_from_env = dj_database_url.config(conn_max_age=400)
 +DATABASES['default'].update(db_from_env)
  • static ファイルの指定
 +STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
   STATIC_URL = '/static/'

 +# Extra places for collectstatic to find static files.
 +STATICFILES_DIRS = [
 +    os.path.join(BASE_DIR, "static"),
 +]

qiita.com

Deploy は Github と連携してやるのが安定

heroku toolbelt のコマンドいちいち覚えるのがめんどくさいし、
GUI ベースでポチポチすれば、リポジトリ更新時に自動で deploy もしてくれる。

サーバー側でコマンド実行するには

データベース連携する場合、テーブル生成が必要。
以下のような感じで、APP_NAME で指定したアプリ向けにコマンド実行できます。

heroku run python manage.py hoge --app APP_NAME

テーブル生成、データ注入、スーパーユーザー作成は実行する必要ありますね。

python manage.py migrate
python manage.py loaddata
python manage.py createsuperuser --user=admin