Flask蓝图究竟是什么?

已经阅读了 Blueprints上的官方Flask文档 ,甚至有一 两篇关于使用它们的博客文章。

我甚至在我的networking应用程序中使用过它们,但是我不完全了解它们是什么或者它们如何适合我的应用程序。 它与我的应用程序的实例有什么相似之处,但不完全相同? 文件是全面的,但我寻求一个外行的解释或启发类比来激发我。 当一位同事要求我向他们解释一个我select在这里问的烧瓶蓝图时,我感到十分困惑。

蓝图是用于生成Web应用程序的“部分”的模板。 把它想象成一个模子:

新鲜的金奖牌从模型中取出

你可以把蓝图应用到你的应用程序的几个地方。 每次应用蓝图时,都会在应用程序的灰泥中创build新的结构版本。

# An example from flask import Blueprint tree_mold = Blueprint("mold", __name__) @tree_mold.route("/leaves") def leaves(): return "This tree has leaves" @tree_mold.route("/roots") def roots(): return "And roots as well" @tree_mold.route("/rings") @tree_mold.route("/rings/<int:year>") def rings(year=None): return "Looking at the rings for {year}".format(year=year) 

这是一个简单的树木工作模式 – 它说,处理树木的任何应用程序都应该提供访问其树叶,树根和环(每年)。 它本身就是一个空心的壳 – 它不能通过,它不能回应,直到它被印在一个应用上:

 from tree_workshop import tree_mold app.register_blueprint(tree_mold, url_prefix="/oak") app.register_blueprint(tree_mold, url_prefix="/fir") app.register_blueprint(tree_mold, url_prefix="/ash") 

一旦创build完成后,它可能会通过使用register_blueprint函数对应用程序“留下深刻的印象” – 这会在url_prefix指定的位置“印象”应用程序蓝图的url_prefix