かずまろのにっき

日々のこととプログラミング

Herokuにデプロイ完了!今日から再運用開始!!

DjangoGirlsTutorialでこのブログを作ってpythonanywhereにアップロードしていたがミスでブログが消えてしまった。 そしてついに今日、Herokuで復活させることができました!いえーーーーーーい。 実は今回がDjangoアプリのHeroku初デプロイとなるのでその際に詰まったところなどを書いておこうと思う。

migate関係のつまずき

flaskでHerokuにデプロイした経験はあったから必要ファイルなどの用意はすんなりいった。 ググった記事を参考にしながらやってたらスイスイ進んでたんだけど、ここでエラー発生。

f:id:kzmaro:20190328224711p:plain

エラー文に従ってあーはいはいこうすればいいのねーとやっていてもエラーは解決せず。
原因はコンソールの方でmakemigrationsやmigrateを行なっていたからだった。
いったん戻って、ローカルの開発環境で上の二つを行い。gitにプッシュ。そしてHerokuにプッシュすることでこの問題は解消された。

前も散々苦しめられてきたこやつ 「gunicorn」

このエラー。H10のアプリクラッシュ。正直このエラーが一番嫌い。なんでかって原因がわからないから。

f:id:kzmaro:20190328224857p:plain

前回の経験からいくとこういう時って大体gunicornがおかしかったりする。再度インストールをしてみる。

f:id:kzmaro:20190328224935p:plain

見つからない??はいーーーーー???

もうほんとgunicorn大嫌いマンへと変貌を遂げてしまったのだが、このコマンドとエラーをよく見ると、

[Guicorn]

実はただのスペルミスだったというなんとも悲しいオチ。 herokuのデプロイには数週間かかったみたいな人も調べてたらいてビビってたんだけど、 こういうしょうもないミスで時間をとられるのはすごく悔しい。

ホストのエラー

このエラーが解消されてheroku open でひらいてみると、今度はこんなエラーが。正しくホストが設定されていない???

f:id:kzmaro:20190328224900p:plain

この問題は サイト1サイト2を参考にして解決。 エラーの通りにALLOWED_HOSTSに設定してあげれば良い。
Qiitaの記事だとそこを[*]にすればいいよとか書いてあるんだけど、セキュリティ面を考えるとあまりよくないので、そのことがきちんと書いてある二つの参考記事をピックアップ。ここについてはまた勉強する。

静的ファイルのエラー

最後にこのエラー。もうサイトは動いていて動作上問題はないんだけど、CSSとか読み込まれてないじゃん。
このエラーの解決するためにはherokuの記事が一番参考になった。
適切なディレクトリを指定するだけじゃなくて、Whitenoiseをインストールしないといけない。 あと静的ファイルをひとまとめにしないといけないみたいでそれはcollectstaticってコマンドでやる。 collectstaticは先ほど設定したstaticディレクトリに静的ファイルを根こそぎ集めてくれる。そのディレクトリに元からあったものは上書きされてしまう恐れがあるので注意。

とにかくこれでブログが公開できて一安心。