如何在Flask模板中制作重定向按钮



我正试图使用flask制作一个web应用程序,但在重定向到app.py文件中的另一个页面/路由时遇到问题。我还为另一个(登录(页面设置了一个HTML模板。

这是我在主应用程序.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.UndefinedErrorjinja2.exceptions.UndefinedError:"Flask"是未定义的

如何使我的按钮重定向到";登录";烧瓶路线?

如果您希望表单提交到不同的路由,您只需执行<form action="{{ url_for('app.login') }}">即可。

如果您只想放置一个指向页面的链接,请使用<a>标记。

如果您想处理请求然后重定向,只需使用flask提供的redirect函数即可。

<a href="{{url_for(app.login)}}" >Login</a>

最新更新