多个Blueprint的before_request

8 投票
1 回答
3927 浏览
提问于 2025-04-17 19:17

这是我的情况:

假设我有两个蓝图(Blueprint),它们都有一个叫做 before_request 的方法:

mod = Blueprint('posts', __name__, url_prefix='/posts')

@mod.before_request
def before_request():
  #some code that uses SQLAlchemy here 
  pass

现在我不想在第二个蓝图中重复这个方法里的逻辑。

我该怎么做呢?

PS:我刚学Python,可能会漏掉一些明显的东西。谢谢。

1 个回答

9

使用 blueprint.before_app_request 这个功能,它会对整个应用中的所有视图生效,而不仅仅是同一个蓝图里的视图。

撰写回答