def wrapped_view(*args, **kwargs):
if g.user.type != UserType.admin:
return abort(403)
return view(*args, **kwargs)
return wrapped_view
нужно написать похожий декоратор require_roles, чтобы он использовался примерно так:
@require_roles('admin', 'operator')
def handler():
...
написал вот такой вариант:
def require_roles(*roles: UserType):
def wrapper(view):
@functools.wraps(view)
def wrapped_view(*args, **kwargs):
if g.user.type not in roles:
return abort(403)
return view(*args, **kwargs)
return wrapped_view
return wrapper
можно ли это сделать проще/правильнее?
https://t.me/advice17/47
а какой пункт по-твоему является ответом на вопрос?
видимо я не понял к чему ты там пробрасываются произвольные аргументы, ровно то что нужно для фласк хендлера
Я говорю, зачем декоратор, когда можно просто в теле вызвать функцию
Обсуждают сегодня