Flask使用Blueprint注册管理路由

发布于:2025-03-15 ⋅ 阅读:(13) ⋅ 点赞:(0)

在 Flask 中,可以使用 蓝图(Blueprint) 来组织和注册路由,从而让代码更加模块化和易于维护。以下是完整的使用方法:


1. 创建 Flask 项目结构

建议的项目目录结构如下:

my_flask_app/
│── app.py              # 入口文件
│── blueprints/
│   ├── __init__.py     # 蓝图初始化
│   ├── user.py         # 用户相关的蓝图
│   ├── auth.py         # 认证相关的蓝图
└── templates/          # 模板文件夹(如果有)

2. 定义蓝图(Blueprint)

blueprints/user.py(用户相关蓝图)

from flask import Blueprint, jsonify

# 创建蓝图
user_bp = Blueprint('user', __name__, url_prefix='/user')

@user_bp.route('/info')
def user_info():
    return jsonify({"message": "User info API"})

@user_bp.route('/profile')
def user_profile():
    return jsonify({"message": "User profile API"})

blueprints/auth.py(认证相关蓝图)

from flask import Blueprint, jsonify

auth_bp = Blueprint('auth', __name__, url_prefix='/auth')

@auth_bp.route('/login', methods=['POST'])
def login():
    return jsonify({"message": "Login API"})

@auth_bp.route('/logout', methods=['GET'])
def logout():
    return jsonify({"message": "Logout API"})

3. 在 __init__.py 中初始化蓝图

blueprints/__init__.py
from flask import Flask

# 导入蓝图
from .user import user_bp
from .auth import auth_bp

def create_app():
    app = Flask(__name__)

    # 注册蓝图
    app.register_blueprint(user_bp)
    app.register_blueprint(auth_bp)

    return app

4. 在 app.py 中运行 Flask 应用

from blueprints import create_app

app = create_app()

if __name__ == '__main__':
    app.run(debug=True)

5. 运行 Flask 并访问接口

启动 Flask:

python app.py

访问:

  • http://127.0.0.1:5000/user/info -> 返回 { "message": "User info API" }
  • http://127.0.0.1:5000/auth/login -> 返回 { "message": "Login API" }

这样,使用 蓝图 可以将不同功能模块拆分到不同的文件,便于管理和维护!🚀