
蓝图加前缀
pp.register_blueprint(auth_bp, url_prefix='/xxx')
python
# 创建蓝图时就指定 url_prefix
auth_bp = Blueprint('auth', __name__, url_prefix='/auth')
@auth_bp.route('/login')
def login():
return "Login page"
# 注册时可以不再指定,或者再添加外层前缀
app.register_blueprint(auth_bp) # 实际路径:/auth/login
# 或者叠加前缀
app.register_blueprint(auth_bp, url_prefix='/api/v1') # 实际路径:/api/v1/auth/login
python
# project/blueprints/user.py
from flask import Blueprint
user_bp = Blueprint('user', __name__, url_prefix='/user')
@user_bp.route('/profile')
def profile():
return "User Profile"
# project/blueprints/admin.py
from flask import Blueprint
admin_bp = Blueprint('admin', __name__, url_prefix='/admin')
@admin_bp.route('/settings')
def settings():
return "Admin Settings"
# app.py
from flask import Flask
from project.blueprints.user import user_bp
from project.blueprints.admin import admin_bp
app = Flask(__name__)
# 注册时统一添加 API 版本前缀
app.register_blueprint(user_bp, url_prefix='/api/v1')
app.register_blueprint(admin_bp, url_prefix='/api/v1')
# 最终路由:
# /api/v1/user/profile
# /api/v1/admin/settings

python
# 动态前缀示例
app.config['API_PREFIX'] = '/api/v2'
app.register_blueprint(user_bp, url_prefix=app.config['API_PREFIX'])






