我正在尝试使用Python Flask框架。我想做的是
这是一个非常基本的例子。
加载第二页的函数如下图所示
@app.route('/second')
@login_required
def second():
return render_template('second.html')
正如你所注意到的,这个函数是由@login_required decorator保护的。
现在我的问题是,当我尝试访问 http:/localhost:5000second。 并且由于该函数用@login_required装饰,登录视图被加载,这很好,但我看到URL从
http:/localhost:5000second。 到 http:/localhost:5000login?next=%2Fsecond
我无法理解这个next在url direct中的作用。next是一个迭代函数,它在url重定向中起到什么作用。我也无法从flask-login文档中清楚地了解它是什么。
谢谢你
next
是 只是一个URL参数的名称. 该框架提供了 @login_required
装饰者选取了它,一旦登录成功,就用它把你重定向回来。
这个名字并没有什么特别之处。框架可以选择 origin
或 return_to
或任何其他名称。只要登录代码和生成该URL的代码在名称上达成一致,这个名称怎么拼写都无所谓。
只要有一个 next()
Python中的函数纯属巧合。