我需要一个装饰器,它需要检查一个条件,并根据它完全执行装饰函数或完全跳过它的执行。我大致有以下代码
def decorator_check(func):
def wrapped_func(*args):
settings = Settings.query.filter(Settings.key == const.VARIABLE).one_or_none()
if not settings or (settings.value.get('FLAG_NAME', True)):
return func(*args)
else:
pass
wrapped_func.__name__ = func.__name__
wrapped_func.__doc__ = func.__doc__
return wrapped_func
我想知道这是否是正确的做法,或者我遗漏了什么。具体来说,我的代码没有按预期工作,我不确定为什么。我想排除装饰器是罪魁祸首的可能性。