werkzeug.routing.BuildError。无法为端点'结果'建立url。你是不是忘了指定值['搜索']?

问题描述 投票:0回答:1

我想创建一个搜索功能,我以后会添加,现在我只关心我的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>
url flask
1个回答
0
投票

原因是由于 searchNone

你应该以这种方式实现你的搜索。

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
© www.soinside.com 2019 - 2024. All rights reserved.