说是你对对Flask蓝图(Blueprint)的理解?【面试题详解】

今天爱分享给大家带来说是你对对Flask蓝图(Blueprint)的理解?【面试题详解】,希望能够帮助到大家。
蓝图的定义

蓝图 /Blueprint 是Flask应用程序组件化的方法,可以在一个应用内或跨越多个项目共用蓝图。使用蓝图可以极大简化大型应用的开发难度,也为Flask扩展提供了一种在应用中注册服务的集中式机制。

蓝图的应用场景:

把一个应用分解为一个蓝图的集合。这对大型应用是理想的。一个项目可以实例化一个应用对象,初始化几个扩展,并注册一集合的蓝图。

以URL前缀和/或子域名,在应用上注册一个蓝图。URL前缀/子域名中的参数即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下) 在一个应用中用不同的URL规则多次注册一个蓝图。

通过蓝图提供模板过滤器、静态文件、模板和其他功能。一个蓝图不一定要实现应用或视图函数。

初始化一个Flask扩展时,在这些情况中注册一个蓝图。

蓝图的缺点:

不能在应用创建后撤销注册一个蓝图而不销毁整个应用对象。

使用蓝图的三个步骤

1.创建一个蓝图对象


blue = Blueprint("blue",__name__)


2.在这个蓝图对象上进行操作,例如注册路由、指定静态文件夹、注册模板过滤器…


@blue.route('/')
def blue_index():
    return "Welcome to my blueprint"


3.在应用对象上注册这个蓝图对象


app.register_blueprint(blue,url_prefix="/blue")


人已赞赏
Python

HTTP常见请求头?【面试题详解】

2020-12-30 22:29:04

Python

Flask 和 Django 路由映射的区别?【面试题详解】

2020-12-30 22:33:06