Ответ 1
Проект - это шаблон для создания "раздела" веб-приложения. Вы можете думать об этом как о плесени:
Вы можете взять план и применить его к своему приложению в нескольких местах. Каждый раз, когда вы применяете его, план создает новую версию его структуры в гипсе вашего приложения.
# 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
.