ゆとり世代の自由研究

勉強が一生終わりません

FlaskのBlueprint

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)