めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

Flaskのapp.pyをいくつかのファイルに分割する

Blueprintを使う

app.pyの機能の一部を divided_app.pyに移したいと想定してます。

divided_app.py

sample = Blueprint('sample', __name__, template_folder='templates')
@sample.route('/hoge')
def hoge():
    return render_template('templates/hoge.html')

app.py

from divided_app import sample

app = Flask(__name__)
app.register_blueprint(sample, url_prefix='/sample_url')

これで localhost:5000/sample_url/hoge などから divided_app.py以下のhogeを呼出せます。url_prefix='/sample_url'でプレフィックスを指定してます。より詳しくはドキュメントを参照してください。

Modular Applications with Blueprints — Flask 1.0.2 documentation

ファイル・ディレクトリ構成

appをわけ出したり大規模になってきた時のファイル構成の例。

プロトタイピング

以下にテンプレートが用意されています。

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。