【メモ】最近ハマったFlaskの仕様について

はじめに

こんにちは、がんがんです。
最近は実験のデモに向けてFlaskアプリの開発に励んでおります。
直近ですと、下記に書かせて頂いたように環境を構築したりしていました。

gangannikki.hatenadiary.jp


開発を行うにあたりしばしばInternal Server Error(500エラー)に悩まされました。
原因としてはFlaskの内部仕様によるものだったので、メモとして残しておきます。

ハマった点

複数のapp.routeを1つの.pyに格納して実行を行いました(複数といっても3つ程)。
flaskのみのときはこれでも問題なかったのですが、環境をnginx + uwsgi + flask(used Docker Compose)とした途端に500エラーを返すようになりました。

解決方法

困ったときはドキュメントということで、公式のドキュメントを見てみました。
a2c.bitbucket.io

study-flask.readthedocs.io

すると、モジュールに分割した方が良いという風に書かれてました。試しに、分割してみると問題なく動きました。
公式ドキュメント様様と思うとともに、改めてflaskの知見が深まる出来事でした。

おわりに

今回はnginx + uwsgi + flaskの実験の際にハマったことを備忘録として書きました。
ハマったときはとても困りましたが、今まで知っていたのはflaskの一角だったことを知れて改めてよかったなと思いました。