如何在 Flask 模板中制作重定向按钮
Posted
技术标签:
【中文标题】如何在 Flask 模板中制作重定向按钮【英文标题】:How to make a redirect button in Flask template 【发布时间】:2021-03-11 22:38:18 【问题描述】:我正在尝试使用烧瓶制作网络应用程序,但在重定向到我的 app.py 文件中的另一个页面/路由时遇到问题。我还为另一个(登录)页面设置了 html 模板。
这是我在主 app.py 中的代码:
@app.route('/', methods=['GET', 'POST'])
if request.method == 'GET':
pass
if request.method == 'POST':
pass
return render_template('index.html', passable=passable)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
name = request.form.get('username')
post = request.form.get('password')
# still need to complete
return render_template('login.html')
我已经导入了所有相关的模块(我认为)。
在我的 Index.html 文件中,我有一个按钮,我希望它重定向到我的 login.html 页面。目前我正在做这样的事情:
<button type="submit" onclick='Flask.redirect(url_for(login))' value="editor">
每当我(本地)启动页面时,我都会收到此错误。 jinja2.exceptions.UndefinedError jinja2.exceptions.UndefinedError: 'Flask' 未定义
如何让我的按钮重定向到“登录”烧瓶路线?
【问题讨论】:
这能回答你的问题吗? Redirecting to URL in Flask 试试()=>window.location= url_for('login')
【参考方案1】:
如果您希望您的表单提交到不同的路线,您只需执行<form action=" url_for('app.login') ">
。
如果您只想添加指向页面的链接,请使用<a>
标签。
如果要处理请求然后重定向,只需使用flask提供的redirect
函数即可。
【讨论】:
【参考方案2】:<a href="url_for(app.login)" >Login</a>
【讨论】:
虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。以上是关于如何在 Flask 模板中制作重定向按钮的主要内容,如果未能解决你的问题,请参考以下文章