Pythonと「Flask」のBlueprintでモジュールの分割する方法について入門者向けにまとめました。
FlaskのBlueprintでモジュールの分割
Flaskのモジュール「Blueprint」は、アプリケーションの機能を分割することができます。 前回までの解説記事では、1つのメインファイル(Pythonファイル)に全てのルーティングと関数を記述していましたが、ルーティングと関数毎にファイルを分割したほうが、Webアプリケーションの規模が大きくなるほど保守しやすくなります。 具体的にコードを見たほうがわかりやすいので、以下に簡単なサンプルを示します。
サンプルコード
今回のサンプルコードのディレクトリ構成は以下のとおりです。 「Blueprint」でトップページ用とログインページ用のPythonファイルに分割します。
■ディレクトリ構成
root/
|__server.py
|__index.py ← トップページ用の関数とルーティングを記述したPythonファイル
|__login.py ← ログインページ用の関数とルーティングを記述したPythonファイル
|__templates/
|__index.html ← トップページ用の子テンプレートファイル
|__login.html ← ログインページ用の子テンプレートファイル
|__base.html ← 親テンプレートファイル
■server.py →pythonファイル(app.runするもの)
■index.py →トップページのルーティングと関数の部分をモジュール化
■login.py →ログインのルーティングと関数の部分をモジュール化
■templates/base.html →親テンプレートのHTMLファイル(共通化部分)
■templates/index.html →子テンプレートのHTMLファイル1(トップページのコンテンツ部分)
■templates/login.html →子テンプレートのHTMLファイル2(ログインページのコンテンツ部分)
上記のサンプルコードを実行します。 そして、ブラウザで「http://127.0.0.1:8080/」にアクセスすると、index関数が実行されるため画面には「トップページへ」と表示されます。 また、ブラウザで「http://127.0.0.1:8080/login」にアクセスすると、login関数が実行されるため画面には「ログインページへ」と表示されます。
関連ページ


コメント