我有一些具有属性的方法(使用 .Net 术语)。就像是。
#Example Usage
@RequireLoggedIn
def SomeAuthorisedFunction():
# ...
该属性定义为
def RequireLoggedIn(func):
func.AuthenticationRequired = True
return func
然后我可以检查是否已使用hasattr(view_func, 'AuthenticationRequired')
. 我想做的是这样的......
@RequireRole('Administrator')
def SomeAuthorisedFunction():
# ...
我试过定义这样的属性:
def RequireRole(func, Role):
func.RequiresRole = Role
return func
但@RequireRole('Administrator')
结果missing positional argument "Role"
和@RequireRole(Role='Administrator')
结果missing positional argument "func"
。
如何指定属性的属性?