python - 如何使烧瓶重定向(“abc”)相对于应用程序运行的url路径返回?
问题描述
我的烧瓶应用程序正在运行domain.com/test/
。在我的代码中,如果用户点击应用程序中的任何 URL(路由处理程序与否)并且未登录,我希望重定向以将用户返回到 domain.com/test/login。
如果我这样做redirect("/abc")
,它会将它们发送到domain.com/abc
. 如果我这样做redirect("abc")
了,并且它们来自诸如此类的路线domain.com/test/bla/
,它会将它们发送到domain.com/test/bla/abc
。
我只想重定向将它们发送到[url-flask-app-is-running-on]/[the-redirect-path-segment]
另一方面-我可以给重定向端点而不是字符串路径吗?
谢谢!
解决方案
有2种方式:
- 您可以使用
return redirect('domain.com/test/login')
哪个是完整路径。 - 如果你的代码是这样的:
@app.route('/test/login')
def login_form()
pass # login form
那么你可以使用return redirect(flask.url_for('login_form')
重定向来源:https ://flask.palletsprojects.com/en/2.0.x/quickstart/#redirects-and-errors
url_for 来源:https ://flask.palletsprojects.com/en/2.0.x/quickstart/#url-building
推荐阅读
- node.js - AWS S3 putObject 回调未触发
- r - 从观察函数传递数据以下载
- python - 使用 Python 数据框从 csv 文件更新数据
- caching - 当键存在时,CakePHP 3.x ORM 不使用缓存数据
- javascript - jQuery验证只工作一次问题
- android - Generate pdf format and append data
- angular - 如何在 Angular 6 应用程序内的 Web 组件中嵌入 Angular 6 组件
- python - 部署到 Azure 时 Flask Dance 超时
- android - Problem with display multiple Toast in order one after another
- unity3d - 二维统一游戏询问我在代码中没有提到的权限