根据this question,只能使用POST
将输入表单中的数据从html发送到Python。我试图找出如何将一个值(实际上它最初包含在我从Python传入的字典中)从html传递到Python。你知道吗
我考虑过的两种方法(但还没有找到成功的方法)是:
parkCode
的语法应该是什么样子。你知道吗@app.route('/park/<parkCode>', methods =['GET', 'POST'])
def park(parkCode):
return render_template('park.html', parkCode = parkCode)
作为参考,这是我在``parks``字典上发送的一行:
return render_template('search_results.html', parks=parks)
然后,在我的search_results.html
文件中:
{% for park in parks %}
<div method = "POST" action = "/park"><a href="park.html">{{park["fullName"]}}</a></div>
{% endfor %}
但是我希望将park["fullName"]
发送到我的Python代码。你知道吗
.route
decorator总是只处理URL路径。由于form action
在HTML中是一个静态值,因此更改它的唯一方法是使用JavaScript(例如,在提交时更改action
属性)。如果您要使用JavaScript,那么您最好只使用JavaScript来提交请求本身,这将导致我们是的,您可以使用AJAX发送请求。从ES6开始,最简单的方法就是
fetch
。选择是使用表单还是使用AJAX取决于您希望在请求之后发生什么:提交的表单会导致呈现新页面,而AJAX请求不能更改当前页面,只能触发JavaScript代码(当然,如果您希望,您可以用JavaScript更改页面)。基本上,没有JavaScript就不能做你想做的事情。第三个不使用JavaScript的选项是按原意使用表单。在
flask
方面,它不涉及在路由内命名参数,而是使用request.args
(对于GET
形式)或request.form
(对于POST
形式):随附的HTML:
相关问题 更多 >
编程相关推荐