Flask 蓝图(Blueprints)

蓝图(Blueprints)

​ Flask使用蓝图的概念来制作应用程序组件,并支持应用程序或应用程序中的通用模式。蓝图可以大大简化大型应用程序的工作方式,并为Flask扩展程序在应用程序上注册操作提供了一个重要手段。Blueprint对象与Flask应用程序对象的工作方式类似,但实际上并不是应用程序,相反,它的构建或扩展应用程序的蓝图。

蓝图优点:

  • 将应用程序分解为一组蓝图,这对于更大的应用是更好的。一个项目可以实例化一个应用程序对象,初始化多个扩展,并注册一组蓝图。

  • 在URL前缀的应用程序上注册蓝图,URL前缀的参数将成为蓝图中所有视图函数的常见视图参数。

  • 在具有不同URL规则的应用程序中多次注册蓝图。
  • 通过蓝图提供模版过滤器,静态文件,模版和其他实用程序。蓝图不必实现应用程序或查看功能。
  • 在初始化Flask扩展时,在应用程序中注册这些蓝图。

Flask中的蓝图不是可插拔的应用程序,因为它实际上并不是一个应用程序 - 它是一组可以在应用程序中注册的操作集,甚至可以多次执行。

Blueprints仅在Flask级别提供分离,共享应用程序配置,并可根据需要在注册时更改应用程序对象。缺点是一旦创建应用程序就无法取消注册蓝图,而需要取消就只有销毁整个应用程序对象。

简单的说,蓝图记录了应用程序执行注册后的操作。Flask在调度请求时,将一个端点到另一个端点的URL视图函数与蓝图进行关联起来。

将项目模块化

首先我们先将项目的骨架搭建起来。

├── App    # App应用程序 Flask对象
│   ├── Admin  # 分块的Admin模块, 后台模块
│   │   ├── __init__.py  # Admin模块初始化文件,创建admin蓝图对象
│   │   ├── models.py  # 数据库模型文件
│   │   └── views.py  # 逻辑控制文件
│   ├── Index  <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值