关于python:’全局名称@wraps未定义’烧瓶中的错误

'global name @wraps is not defined' error in flask

本问题已经有最佳答案,请猛点这里访问。

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

我的方法如下:

1
2
3
4
5
6
7
8
9
10
#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

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

不过,我在说global name @wraps is not defined时出错了,但我不知道为什么?


您可能缺少functools中的包装

1
from functools import wraps