我想创建一个搜索功能,我以后会添加,现在我只关心我的URL。当我搜索的时候,我希望在URL里有我搜索的东西。但是每次我都会得到这个错误:werkzeug.routing.BuildError: Could not build url for endpoint 'result'. 你是不是忘了指定['search']的值?
这是我的python文件
@app.route("/search")
def search():
search = request.form.get("search")
return redirect(url_for('result', search=search))
@app.route("/result/<search>")
def result(search):
return render_template("result.html")
下面是我的HTML表格
<form class="form-inline my-2 my-lg-0" action="{{ url_for('search')}}">
<input class="form-control mr-sm-2" name="search" placeholder="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
原因是由于 search
是 None
你应该以这种方式实现你的搜索。
HTML
<form method='GET' action='/search'>
<input type='text' name='search'>
<input type='submit'>
</form>
蟒蛇
@app.route('/search')
def search():
if 'search' not in request.args:
#return normal page
#Do stuff
return redirect(url_for('result',search=request.args['search']))
@app.route('/result/<search>')
def result(search):
#Show the result
return search