def admin_login(f): """ 登录装饰器 """ @wraps(f) def decorated_function(*args, **kwargs): # print('session', session) if "admin" not in session: return redirect(url_for("admin.login", next=request.url))
时间: 2023-06-13 21:08:09 浏览: 131
Python装饰器使用你可能不知道的几种姿势
这是一个用于 Flask web 应用的装饰器函数,用于保护需要管理员权限才能访问的页面或函数。该装饰器函数的作用是检查当前会话 session 中是否存在管理员用户,如果存在则继续执行原函数,否则将页面重定向到管理员登录页面,并将当前页面的 URL 作为参数传递给登录页面,以便登录后可以跳转回来。其中,@wraps(f) 是一个装饰器,用于将原函数的元信息(如函数名、参数列表等)复制到装饰后的函数中,以保证装饰后的函数与原函数在使用上没有差别。
阅读全文