对 Flask 蓝图(Blueprint)的理解?
发布时间:2022-09-13 17:43:04
发布人:wjy
蓝图的定义
蓝图 /Blueprint 是 Flask 应用程序组件化的方法,可以在一个应用内或跨越多个项目共用蓝图。使用蓝图可以极大地简化大型应用的开发难度,也为 Flask 扩展 提供了一种在应用中注册服务的集中式机制。
蓝图的应用场景
(1) 把一个应用分解为一个蓝图的集合。这对大型应用是理想的。一个项目可以实例化一个应用对象,初始化几个扩展,并注册一集合的蓝图。
(2) 以 URL 前缀和/或子域名,在应用上注册一个蓝图。 URL 前缀/子域名中的参数即成为这个蓝
图下的所有视图函数的共同的视图参数(默认情况下)。
(3) 在一个应用中用不同的 URL 规则多次注册一个蓝图。
(4) 通过蓝图提供模板过滤器、静态文件、模板和其它功能。一个蓝图不一定要实现应用或者视图函数。
(5) 初始化一个 Flask 扩展时,在这些情况中注册一个蓝图。
蓝图的缺点
不能在应用创建后撤销注册一个蓝图而不销毁整个应用对象。
使用蓝图的三个步骤
(1) 创建一个蓝图对象
(2) 在这个蓝图对象上进行操作 ,例如注册路由、指定静态文件夹、注册模板过滤器...
(3) 在应用对象上注册这个蓝图对象