flask框架——蓝图

蓝图最佳实践和常见用途:

  1. 模块化: 将不同功能模块的路由分开定义,例如:
    • auth_router:处理认证(登录、注册、注销),url_prefix='/auth'
    • api_router:提供 RESTful API 接口,url_prefix='/api/v1'
    • admin_router:后台管理功能,url_prefix='/admin'

  2、蓝图:  Flask 中用于组织一组相关视图、模板、静态文件和其他代码的“模块化”工具。
     允许你将应用分解成更小的、可重用的组件,而不是把所有路由都写在主应用文件里。

 

参数说明:

  • name:蓝图的名称
  • import_name:蓝图所在的模块,一般定义为__name__
  • url_prefix="/user":为该蓝图下的所有路由设置了一个统一的前缀 /user
# 蓝图
from flask import Blueprint, Flask

app = Flask(__name__)

# Blueprint()创建一个蓝图的实例,name是蓝图名,是蓝图的唯一标识
goods_router = Blueprint(name="goods", import_name=__name__)
user_router = Blueprint("user", __name__, url_prefix="/user")

# 使用蓝图对象定义路由
@goods_router.route("/")
def index():
    return {"code":0, "msg": "get success", "data": []}

@goods_router.route("/add", methods=["POST"])
def add_goods():
    return {"code":0, "msg": "add success"}

@user_router.route("/")
def user_list():
    return {"code":0, "msg": "get success one", "data": []}

@user_router.route("/login", methods=["POST"])
def login():
    return {"code": 0, "msg": "add success one"}

# 注册蓝图对象到flask的启动对象中
if __name__ == '__main__':
    # 把蓝图的实例注册到主应用app中
    app.register_blueprint(goods_router)
    app.register_blueprint(user_router)
    app.run('0.0.0.0', 5001, debug=True)

 

posted @ 2025-08-21 10:53  Alieen617  阅读(10)  评论(0)    收藏  举报