Blueprints in Flask sind eine Möglichkeit, die Organisation einer Anwendung zu verbessern, insbesondere wenn diese wächst und mehrere Komponenten enthält. Sie dienen zur Modularisierung einer Flask-Anwendung und können als Vorlage für Applikationsstrukturen betrachtet werden.
Ein Blueprint ist im Wesentlichen ein Modul, das Routen und Fehlerbehandlungen kapselt. Es kann mehrere Routen und Vorlagen, statische Dateien und vieles mehr enthalten. Blueprints bieten eine saubere Trennung der Funktionen und erleichtern die Wiederverwendung von Code.
Ein einfacher Blueprint könnte folgendermaßen aussehen:
from flask import Blueprint, request, jsonify shopping_item_bp = Blueprint('shopping_item_bp', __name__) @shopping_item_bp.route('/shoppingItems', methods=['GET']) def get_items(): items = dao.get_all_items() return jsonify(items), 200 @shopping_item_bp.route('/shoppingItems/<int:item_id>', methods=['GET']) def get_item(item_id): item = dao.get_item(item_id) if item: return jsonify(item), 200 return jsonify({'error': 'Item not found'}), 404
Nach der Erstellung des Blueprints muss dieser in der Hauptanwendung registriert werden:
from flask import Flask app = Flask(__name__) # Importieren und Registrieren des Blueprints from my_blueprint_module import shopping_item_bp app.register_blueprint(shopping_item_bp)
Mit dieser Methode können Sie mehrere Blueprints in einer einzigen Anwendung registrieren, um verschiedene Aspekte zu verwalten.
Beim Registrieren eines Blueprints können Sie optional einen URL-Präfix angeben:
app.register_blueprint(my_blueprint, url_prefix='/shopinglist')
Dadurch wird der Endpunkt des Blueprints zu /shopinglist/shoppingItems
anstatt nur /shoppingItems
.