web-dev-qa-db-ja.com

より大きなFlaskアプリケーションをどのように構成しますか?

Python Flaskマイクロフレームワークを使用して記述された比較的単純なWebアプリケーションがあります。ただし、アプリとしてFlaskの使いやすさを本当に楽しんでいます。大きくなり、すべてのアクション(およびユーティリティ関数)を1つのファイルに収めるのが手に負えなくなってきました。views.pyは約700行のコードであり、物事をより個別の単位に分割したいと思います。方法コードを再構築する必要がありますか?

5
detour

アプリケーションを構造化する方法は複数あります。

  1. 最も簡単なのは、関数に固執して別のファイルに移動することです。アプリケーションの起動時にインポートされていることを確認する限り、それはまったく問題ありません。
  2. ブループリントを使用して、ビューを「カテゴリ」に割り当てます。たとえば、バックエンド、認証、プロファイルなど。ブループリントには、理論的には複数のアプリケーションにアタッチできるという利点があり、アプリケーションファクトリを実装するための優れた方法でもあります。
  3. 基になるWerkzeugURLマップを使用し、中央のURLマップに関数を登録します。

これらすべてのトピックについて、Flaskドキュメントのパターンセクションにエントリがあります。

6
Armin Ronacher