[Flask]Blueprintによるモジュール化


Blueprintとは?
アプリケーションコンポーネントを作成し、アプリケーション内またはアプリケーション間の汎用モードをサポートするために、フラスコは「青写真」の概念を使用します.
ブルーレイはアプリケーションの動作を簡素化し、集中的な登録手段を提供します.
  • Flaskは、ルーティング関数を使用してURLを生成し、それをデータレコーダ形式にマッピングします.機能の追加に伴い、ルーティング関数も増加し、appに追加し続ける必要があります.
    このときBluePrintを使うとDjangoのアイテムURLpyのようにきれいに管理できます.
  • Blueprintオブジェクトの作成
    # user.py
    from flask import Blueprint 
    
    bp = Blueprint('user', __name__)
    
    @bp.route('/signup', methods=['POST'])
    def signup():
        return jsonify()
    bpを使用してuserという名前のBLOOPオブジェクトを生成し、appではなくbpを使用してルーティング関数を呼び出します.
    Blueprint登録
    from flask import Flask
    from . import user
    
    app = Flask(__name__)
    
    app.register_blueprint(user.bp)
    # app.register_blueprint(user.bp, url_prefix='/admin')
    Flashオブジェクトを生成する場所、例えばapp.pyまたは__init__.pyでは、登録するBlue Lintオブジェクトを含むファイルをインポートし、appにBlue Lintオブジェクトを登録します.
    必要に応じて、url_prefixを使用して接頭辞を指定します.
    上のコメントのようにprefixとuserを指定します.pyの/singupが要求されると、http://localhost:5000/admin/singupと同じURLが呼び出されます.
    |を参照
    Flask-docs
    れんたいびん