我希望授权装饰器能够将自定义用户对象传递给它所装饰的视图。
目前,我正在让装饰者在flask.g上设置一个属性来执行此操作。这是可接受的使用flask.g还是有更好的方法吗?
我的代码看起来像这样:
def auth(f):
@wraps(f):
def decorated(*args, **kwargs):
user = getUserObj(request.headers.get('user'), request.headers.get('pass'))
flask.g.user = user
return f(*args, **kwargs)
return decorated
然后视图是:
@api.route('/info')
@auth
def info():
flask.g.user # this contains my user object now