我有一个名为“auth”的装饰器
def auth(check_func=validate_login):
def decorator(view):
def wrapper(*args, **kwargs):
auth = check_func()
if auth:
return view(*args, **kwargs)
return bottle.redirect('/login.html')
return wrapper
return decorator
auth
装饰器是这样使用的
@get('/')
@view("someview")
@auth()
def handler():
#myhandlercode
所以auth
装饰器调用了view
在bottle.py中呈现我的模板的函数。但现在我想返回 json 而不是渲染view
. 那么我必须对auth
装饰器代码进行哪些更改才能实现这一点?我对如何调用处理程序而不是view
来自身份验证代码感到困惑。
编辑 1:Bottle 允许您返回 dict,它直接将其转换为 json。而且我根本不想使用视图,我只想从我的处理程序将 json 返回给用户。那么我应该删除@view 装饰器吗?我应该在 auth 装饰器中调用什么?