我有一些方法具有屬性(使用.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"
。
如何指定屬性的屬性?
http:// stackoverflow。com/questions/5929107/python-decorators-with-parameters – ndpu