一尘不染

到底什么是flask蓝图?

flask

我在我的Web应用程序中使用了它们,但是我不完全了解它们是什么,或者它们如何适合我的整个应用程序。它与我的应用程序实例有何相似之处,但又不太相似?文档虽然很全面,但是我想寻求外行的解释或启发性的类比给我以启发。当一位同事要求我向他们解释我选择在这里询问的烧瓶蓝图时,我感到非常困惑。


阅读 996

收藏
2020-04-06

共1个答案

一尘不染

蓝图是用于生成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_blueprint函数在应用程序上“打动” -这在所指定的位置“打动”应用程序上的蓝图url_prefix

2020-04-06