有人可以向我解释这两段代码之间的区别。第一个工作,而后者抛出我在标题中指出的错误。
def login_required(method):
@functools.wraps(method)
def wrapper(*args, **kwargs):
if 'username' in flask.session:
return method(*args, **kwargs)
else:
flask.flash("A login is required to see the page!")
return flask.redirect(flask.url_for('index'))
return wrapper
和
def login_required(method):
@functools.wraps(method)
def wrapper(*args,**kwargs):
if "username" in flask.session:
return method(*args,**kwargs)
else:
flask.flash("A login is required to see the page!")
return flask.redirect(flask.url_for('index'))
return wrapper
答案 0 :(得分:2)
在第一个代码示例中,您正确地返回wrapper
函数末尾的login_required
函数。
在第二个代码示例中,return wrapper
内部有wrapper
函数本身。只是去除最后一行,你应该全部设定。