从 URL 发送参数和 Flask 中的表单
Send args from URL together with form in Flask
简而言之,这是我的问题:
我有一个看起来像这样的 URL:domain.tld/results?search_for=music
在该页面上,我有一个带有 select 字段的表单,然后我将其提交给 Flask 以进行一些 SQL 处理。
基本上,表格如下所示:
<form action="/filter" method="POST">
<select name="sel_store">
{% for store in stores %}
<option value="{{ store }}">{{ store }}</option>
{% endfor %}
</select>
<button type="submit">SEND</button>
</form>
在后面,它看起来像这样:
@app.route("/filter", methods=["POST", "GET"])
def filter():
search_for = request.args.get("search_for")
store = request.form["sel_store"]
return redirect(url_for("results", search_for=search_for, store=store))
(results 函数与 search_for 和 store 一起工作 SQL ,顺便说一下)
但是,它实际上似乎并没有从 URL 中 获取 任何参数,因为它一直给我一个 NoneType 对象错误。
我做错了什么?
谢谢!
不确定这是否是正确的方法,但我设法通过这样做让它工作:
<form action="{{ url_for('filtrare', search_for=request.args.get('search_for')) }}" method="POST">
简而言之,这是我的问题: 我有一个看起来像这样的 URL:domain.tld/results?search_for=music
在该页面上,我有一个带有 select 字段的表单,然后我将其提交给 Flask 以进行一些 SQL 处理。
基本上,表格如下所示:
<form action="/filter" method="POST">
<select name="sel_store">
{% for store in stores %}
<option value="{{ store }}">{{ store }}</option>
{% endfor %}
</select>
<button type="submit">SEND</button>
</form>
在后面,它看起来像这样:
@app.route("/filter", methods=["POST", "GET"])
def filter():
search_for = request.args.get("search_for")
store = request.form["sel_store"]
return redirect(url_for("results", search_for=search_for, store=store))
(results 函数与 search_for 和 store 一起工作 SQL ,顺便说一下)
但是,它实际上似乎并没有从 URL 中 获取 任何参数,因为它一直给我一个 NoneType 对象错误。
我做错了什么?
谢谢!
不确定这是否是正确的方法,但我设法通过这样做让它工作:
<form action="{{ url_for('filtrare', search_for=request.args.get('search_for')) }}" method="POST">