Flask使用Blueprint注册管理路由
在 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, jsonifyauth_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_bpdef 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_appapp = 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" }
这样,使用 蓝图 可以将不同功能模块拆分到不同的文件,便于管理和维护!🚀