PyMongo装饰器变量到函数的上下文

时间:2015-03-26 11:18:31

标签: python

如何将值传递给此装饰器的函数上下文?让我们说authStr为例。

# decorator for endpoints that need auth token
def requires_auth(f):
    @wraps(f)
    def decorated(*args, **kwargs):
        authStr = request.headers.get('Authorization') # 'Bearer thisisatokenstrhere'
        check_auth(authStr) # check if expired
        if not check_auth(authStr):
            return abort(401)
        return f(*args, **kwargs)
    return decorated

1 个答案:

答案 0 :(得分:1)

你有kwargs dict,你可以简单地在那里添加:

kwargs['authStr'] = authStr
return f(*args, **kwargs)

虽然我不知道它会有多大用处,除非装饰的功能已经预料到了那个kwarg。