Django中一个视图的多个装饰器:执行顺序

Django中一个视图的多个装饰器:执行顺序,第1张

Django中一个视图的多个装饰器:执行顺序

现在,Python中的装饰器由内而外地工作

好吧,我想这取决于您由内而外的定义。对于您的情况,您要

@login_required
首先执行,因此它应该是“最外面的”(顶部)装饰器。

如您所述,您的最后一个示例有效,并且确实是实现此目的的正确方法。

编辑

困惑可能是这些特定装饰器的工作方式。

@login_required(@original_view)
返回一个新视图,该视图首先检查您是否已登录,然后调用original_view

所以

    @login_required(        @active_required( @my_view        )    )first checks if you are logged in, then    first(second) checks if you are active, then        runs my_view


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5431488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存