gpt4 book ai didi

python - 将 HTML 下拉列表中的值发送到 Flask app.route

转载 作者:行者123 更新时间:2023-12-01 07:24:31 25 4
gpt4 key购买 nike

我想将一个值从 HTML 中的下拉框传递到我在 Flask 中的路线。下拉列表的选定值应位于 URL 中:127.0.0.1:5000/switchselect/zone=be(或类似的东西)

@app.route('/switchselect/<zone>', methods= ['GET', 'POST'])
@login_required
def switchselect(zone):
if request.method == 'POST':
zone=request.form[zone]
return "zone: " + zone
else:
return redirect(url_for('index'))

在 HTML 中我有:


<div class="dropdown" style="padding-top:25px">
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">BE <span class="caret"></span></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="{{ url_for('switchselect')}}">Actual Config</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Archive</a></li>
</ul>
</div>

我尝试用这种方式解决它,因为我想为页面/switchselect/制作一个模板,而不管区域如何。

那么,如何将下拉列表中所选值的值传递到 Flask 中的路线?

如果我犯了任何错误,请原谅我,我是 Python 和 Flask 的新手..

最佳答案

您可以从 url_for 传递它您在 a 标记中使用的内容

url_for('route_name', variable_name=variable_value)

在您的模板中

<a role="menuitem" tabindex="-1" href="{{ url_for('switchselect', zone='be')}}">Actual Config</a>

将区域值更改为您想要传递的值。

当您单击下拉列表中的链接时,方法是 GET

@app.route('/switchselect/<zone>', methods= ['GET', 'POST'])
@login_required
def switchselect(zone):
return "zone: " + zone

如果区域变量不存在,则会返回 404。您可以提供默认参数并重定向到索引。

@app.route('/switchselect/', defaults={'zone': None})
@app.route('/switchselect/<zone>', methods=['GET', 'POST'])
@login_required
def switchselect(zone):
if zone:
return "zone: " + zone
return redirect(url_for('index'))

关于python - 将 HTML 下拉列表中的值发送到 Flask app.route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57524471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com