我已经读过了 文件在蓝图上甚至 [一个](http://maximebf.com/blog/2012/11/getting-biger-with- 烧瓶/#.u6tizswk7m)或[两个](http://charlesleifer.com/blog/dont-sweat-small- 关于使用它们的博客文章。 我甚至在我的网络应用程序中使用过它们,但我不完全理解它们是什么 它们是否适合或如何适合我的应用程序作为一个整体。它与一个实例有什么相似之处 我的应用程序,但不完全?该文件是全面的,但我寻求一个 外行的解释或一个启发性的类比,为我点燃它。我是 当一个同事让我解释一个烧瓶蓝图时,我感到非常困惑 我选择在这里问他们。
蓝图是用于生成web应用程序的“部分”的模板。 您可以将蓝图应用到多个地方的应用程序中。 每次应用它时,蓝图都会创建它的新版本 应用程序的石膏结构。
# 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")
一旦创建了它,就可以通过使用 register\u blueprint函数-此函数“压印”图纸的模型 应用程序位于“url\u prefix”指定的位置。
register\u blueprint