LoginSignup
15
13

More than 5 years have passed since last update.

Herokuにdjangoアプリをデプロイした雑記

Last updated at Posted at 2014-11-03

ほとんど以下の参考URLを丸パクリしてます。
以前herokuを初めて触ったときの、自分用の備忘録。

参考URL:http://momoto.github.io/blog/2013/08/16/deploying-django-1-dot-5-2-on-heroku/

django-toolbeltのインストール

ここでいきなりつまずく。

(venv) $ pip install django-toolbelt

Error: pg_config executable not found.

pg_configとはなんだ?
調べてみたところ、インストールしたPostgreSQLのバージョン情報が書いてあるファイルらしい。
参考:

というわけで、homebrewでPostgreSQLをインストールする。
参考:http://qiita.com/youcune/items/5b783f7fde45d0fd4b35

$ brew install postgresql

これで無事突破。

Djangoプロジェクトを作成する

pip freezeってなに?

(venv) $ pip freeze > requirements.txt

参考URL:http://tdoc.info/blog/2014/01/15/pip.html>freezeはファイルに標準出力で書き出して、あとでinstallやbundleに使えます。

とのこと。

Herokuへ展開する

手順をこなし、git push heroku master したものの、アプリケーションエラーとなってしまう。
スクリーンショット 2014-03-09 13.51.26.png

ログを調べてみる。

(venv)$heroku logs
...
2014-03-09T00:36:57.628732+00:00 app[web.1]: ImportError: No module named side_dish.wsgi

う〜ん。side_dish.wsgiがないって言ってるみたい……
なんか環境構築段階でまちがえたのかもしれない。

っていうわけで、いったん最初からやり直し。
今度は公式ドキュメントみながらやってみる。
公式ドキュメント:https://devcenter.heroku.com/articles/getting-started-with-django

するとこんな注意書きが。

Don't forget the . at the end. This tells Django to put the extract the into the current directory, instead of putting it in a new subdirectory.

(venv)$ django-admin.py startproject hellodjango .

おもいっくそ . つけていませんでした。
スクリーンショット 2014-03-09 16.49.40.png

これでとりあえず動いてるとこまで確認完了。
やっぱり英語でもめんどくさがらないで、公式ドキュメントを読むべきだ。

色々いじってみる

上記までやってしばらくおいといたら、herokuのコマンドが通らなくなった。

(venv)$ heroku ps
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app APP.

どうもAPPの名前を指定して実行しろということらしい。

(venv)$ heroku open --app radiant-depths-6246
Opening radiant-depths-6246... done

APP名を変更したい

参考URL:https://devcenter.heroku.com/articles/renaming-apps#manually_updating_a_git_remote

$ heroku apps:rename newname

これでAPPはリネームされるが自動でCheckOutが走るもよう。
以下のコマンドなら、CheckOutされない。

$ heroku apps:rename newname --app oldname

gitで使用するリモートURLも以下のコマンドで変更しておく。

$ git remote rm heroku
$ heroku git:remote -a newname

コードの動作確認について

heroku上のコンソールで、色々試したくなるかもしれないが $ heroku run console とかでずっとherokuにつなぎっぱなしにしない方がよい。
その間も利用時間に換算されてしまうので、無料利用時間の許容(750時間)を超えてしまう恐れがあるので要注意。
参考URL:http://blog.mah-lab.com/2013/05/16/heroku-commons-16/

ローカル環境のDB設定について

ローカル環境(開発環境)ではsqlite使いたい。
環境変数から識別すれば、heroku上とローカル環境でDBを切り替えることが可能。

$ export LOCAL_ENV=LOCAL_ENV

参考URLのsettings.pyのを参考にして、DB環境を設定し直す。
さっき追加した、環境変数が存在したらローカル環境と判別して、データベースをsqlite3としている。

参考URL:http://source.hatenadiary.jp/entry/2013/02/05/173636

15
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
13