使用装饰器将用户对象传递到烧瓶视图

时间:2013-12-10 20:12:00

标签: python flask

我希望授权装饰器能够将自定义用户对象传递给它所装饰的视图。

目前,我正在让装饰者在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

0 个答案:

没有答案