我已经阅读了the official Flask documentation在蓝图甚至 one或 two使用它们的博客文章。
我什至在我的网络应用程序中使用过它们,但我不完全了解它们是什么或它们如何融入我的整个应用程序。它与我的应用程序实例有何相似但不完全相似?文档很全面,但我寻求外行的解释或启发性的类比来为我激发它。当一位同事让我向他们解释我选择在这里询问的 Flask 蓝图时,我感到非常困惑。
最佳答案
蓝图是用于生成 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 指定的位置在应用程序上“留下深刻印象”的蓝图模型
.
关于python - Flask 蓝图到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24420857/