1
3

【Flask】賞味期限管理アプリを作成したので、学習をまとめる

Last updated at Posted at 2023-09-14

Flaskの学習のために、購入した食材の賞味(消費)期限を管理するアプリを作成しました。
http://43.207.31.69/

備忘録として、学習や記事をまとめます。

※コードの一部をGithubにて公開しています。

入門

基本的な使い方は、以下などの記事を参考。

HTMLファイルの共通化

extendsを使う。パーツ化はinclude。

ファイルの分割

コードの保守性を上げるために、機能ごとにファイルを分けたい。
以下に具体的なテンプレートをまとめた。

(1)pythonファイル

Blueprintを用いて分割する。
app.pyなどに、Blueprintの設定を集約するイメージ。

(2)データベース

以下を参考に、DBの設定を各ファイルでimportできるように。

RuntimeError: Working outside of application context.が出た場合、以下のサイトで解決。

instanceフォルダ

機密性の高い情報を格納する。
※.gitignoreへの追加は必要。

instanceフォルダ配下のファイルは、instance_relative_config=Trueで自動で読み込める。

# instance/config.pyを読み込む
app = Flask(__name__, instance_relative_config=True)
app.config.from_pyfile('config.py')

環境変数

.envファイルに設定するのが簡単。

  • .envファイルは、環境変数を使うファイルの親にあればOK
  • python-dotenvを使って読み込む

公開

PythonAnywhereを用いた。
アプリ1つまでなら、条件はあるが基本無料で使える。
2つ以上は有料なので、HerokuやAWSなどを検討。

AWSに移管。EC2 + Apache + WSGIの構成を採用した。

その他

デバッグモードをonにすると、pythonファイル中のprint()はターミナル上で確認できる。

1
3
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
1
3