如何在Python中创建两个装饰器来执行以下操作?
@makebold
@makeitalic
def say():
return "Hello"
Run Code Online (Sandbox Code Playgroud)
...应该返回:
"<b><i>Hello</i></b>"
Run Code Online (Sandbox Code Playgroud)
我不是试图HTML在一个真实的应用程序中这样做 - 只是试图了解装饰器和装饰器链是如何工作的.
根据我同意的/sf/answers/610105331/中的一条评论,我们应该避免多个装饰器,如果一个取决于另一个.
因此,在示例中,如果我们为活动用户提供了一个装饰器"active_required",我们就不必在同一视图上同时使用active_required和login_required.
我们应该在"active_required"中以某种方式"调用""login_required"装饰器.
是否可以使用django附带的标准"login_required"装饰器来完成它?
我的要求是:1)如果用户未经过身份验证,我应该将他重定向到LOGIN_URL 2)如果用户已通过身份验证(通过login_required),但未激活,我应该将其重定向到"重新激活"他的页面帐户3)如果用户经过身份验证并处于活动状态,则用户可以访问该视图
提前致谢