假设我有以下结构:
/root/user/login
我在蓝图中登录:
app.register_blueprint(login_blueprint,url_prefix=prefix('/user'))
我可以重定向到“.index”:
@login_blueprint.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
#### this redirects me to '/root/user/'
redirect_to_index= redirect(url_for('.index'))
response = current_app.make_response(redirect_to_index)
# do the log in
return response
redirect_to_index=redirect(url_for('.index'))
response = current_app.make_response(redirect_to_index)
重定向将我带到/root/user
:
redirect(url_for('.index'))
但是如何到达/root
(相对于当前网址(..
)更新?
答案 0 :(得分:6)
您可以为url_for
传递/root/
端点函数的名称。
例如,如果你有:
@app.route('/root/')
def rootindex():
return "this is the index for the whole site."
你应用中的其他地方,你可以这样做:
redirect(url_for('rootindex'))
在此处进行重定向。当您将.
放在传递给url_for
的字符串前面时,它会告诉它在当前蓝图中查找端点。通过关闭.
,您可以告诉它在app