python - Use decorators check user login in flask? -
i defined check user method:
from functools import wraps def check_user(func): @wraps(func) def wrapper(*args, **kwargs): if session['logged_in']: return func(*args, **kwargs) else: return '<a href="/#/login">log in</a>' return wrapper @app.route('/test') @check_user def test(): return "hello"
it not work. how can correct it?
it seems don't know how create decorators in python. there many helpful answers on question: how can make chain of function decorators in python?
below how can create decorator checks if user logged in.
from functools import wraps def checkuser(func): """checks whether user logged in or raises error 401.""" @wraps(func) def wrapper(*args, **kwargs): if not g.user: abort(401) return func(*args, **kwargs) return wrapper
the decorator above raise 401 error if user not logged in. return view function otherwise.
Comments
Post a Comment