Blueprintの基本コンセプト
blueprintがアプリケーション(Flaskインスタンス)に登録された場合に
実行する操作(operation)を記録しておくことです。
Flaskは、リクエストを振り分ける(dispatching)ときや、
あるエンドポイントから別のエンドポイントへのURLを生成するときに、
view関数をblueprintと関連付けます
Blueprintサンプル
from flask import Blueprint, render_template, abort from jinja2 import TemplateNotFound simple_page = Blueprint('simple_page', __name__, template_folder='templates') @simple_page.route('/', defaults={'page': 'index'}) @simple_page.route('/<page>') def show(page): try: return render_template(f'pages/{page}.html') except TemplateNotFound: abort(404)
Blueprintの登録
from flask import Flask from yourapplication.simple_page import simple_page app = Flask(__name__) app.register_blueprint(simple_page)