python - Flask 蓝图到底是什么?

标签 python flask wsgi

已经阅读了the official Flask documentation在蓝图甚至 onetwo使用它们的博客文章。

我什至在我的网络应用程序中使用过它们,但我不完全了解它们是什么或它们如何融入我的整个应用程序。它与我的应用程序实例有何相似但不完全相似?文档很全面,但我寻求外行的解释或启发性的类比来为我激发它。当一位同事让我向他们解释我选择在这里询问的 Flask 蓝图时,我感到非常困惑。

最佳答案

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

A medallion mold with a gold medallion freshly removed from it

您可以获取蓝图并将其应用到您的应用程序的多个位置。每次您应用它时,蓝图都会在您的应用程序的石膏中创建其结构的新版本。

# 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/

相关文章:

python - 使用索引手动切片列表,Python

python - 倒计时到零而不是 1?

python - 执行 python 脚本时创建的额外文件

python - 在python中,如何将字符串斜杠转换为转义序列

python - 如何用 flask 扭曲运行?

python - 发送不改变用户当前页面的 HTTP 响应

python - 如何在 Python 中使用 Flask 执行周期性任务

python - Flask:如何避免为特定 URL 生成任何类型的答案

flask - 中断 iPythonNotebook 中的 Flask 应用程序导致 ZMQerror

node.js - 我可以从 Node 调用 WSGI 应用程序吗?