烧瓶中的“全局名称@wraps 未定义”错误

kri*_*tof 9 python flask

我有一个 Flask 应用程序,我在其中实现了一个片段,以检查用户是否已登录,以便访问我的应用程序上的某些网页。

我的方法是这样的:

#check if session is avaliable to access hidden pages for non users
def is_logged_in(f):
    @wraps(f)
    def wrap(*args, **kwargs):
        if 'logged_in' in session:
            return f(*args, **kwargs)
        else:
            flash('Please Login ', 'danger')
            return redirect(url_for('login'))
    return wrap
Run Code Online (Sandbox Code Playgroud)

在这里,我检查会话是否具有logged_in附加到会话的属性。

但是,我收到一条错误消息global name @wraps is not defined,但我不知道为什么?

小智 19

您可能缺少 functools 的包装

from functools import wraps
Run Code Online (Sandbox Code Playgroud)