尽管无论顺序如何,在这种情况下都不会有任何问题,但您可能
login_required要先执行,以免查询和分页的结果被丢弃。
装饰器将原始函数自下而上包装,因此,当调用该函数时,每个装饰器添加的包装器将自上而下执行。
@login_required应该位于假定用户已登录的任何其他装饰器之下,以便在评估其条件之前优先于其他装饰器。
@app.route()必须始终是最顶部,最外面的装饰器。否则,将为该路线注册一个不代表所有装饰器的功能。
更广泛的答案是,这取决于每个装饰器在做什么。您需要考虑程序的流程,以及一个程序先于另一个程序是否合乎逻辑。



