【发布时间】:2015-07-06 17:19:31
【问题描述】:
这是我正在使用的一段代码。我想确认我是否正确阅读:
def login_required(f):
@wraps(f)
def wrap(*args, *kwargs):
if 'logged_in' in session:
return f(*args, **kwargs)
else:
flash('You need to log in first.')
return redirect(url_for('logging')
return wrap
@app.route('/')
@app.route('/index')
@login_required
def index():
return render_template('index.html',
title='test home title')
让我感到困惑的是f 变量。
所以Login_required() 被称为我的index() 函数的装饰器。它看起来像:
login_required(index()).
f 变量会变成login_required(f()) 还是login_required(index(f))?
当f 与(*args, *kwargs) 返回时,我在login_required() 函数中感到困惑。
【问题讨论】: