我试图修饰一些类方法,但我不知道它们的名称。修饰类可以得到一些参数,也可以得到decorator函数;但是我得到了maximum recursion depth exceed
错误,并且在内部类定义中没有访问decorator参数。你知道吗
def decorator(decorator_param):
def wrapper(cls):
class InnerClass:
def __init__(self, *args, **kwargs):
self.oInstance = cls(*args, **kwargs)
def __getattribute__(self, name):
# decorator validations...
# here I need the decorator_param ¯\_(ツ)_/¯
return self.oInstance.__getattribute__(name)
return InnerClass
return wrapper
@decorator("a decorator param")
class DecoratedClass():
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello %s" % self.name)
ie = DecoratedClass(name="cristhiam")
ie.say_hello()
我希望在内部类中使用decorator参数来验证修饰类方法是否可以执行。你知道吗
编辑:我用的是django+graphene+JWT。Graphene允许在突变中使用django模型形式,但是JWT只修饰函数(突变和形式模型形式都是类)。我想用变异类来装饰。我希望说清楚。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐