烧瓶 - 搜索到的字的网址

时间:2012-07-25 07:18:55

标签: python flask

我想问一下如何让我的网址包含我搜索过的单词。像这样:

http://host/filter?test

我的代码:

    @app.route('/filter', methods=['POST', 'GET'])
def filter():
        if request.method == 'POST':
            if str(request.form['search_string']) <> '':
                api.queryMessage(request.form['search_string'])
       return render_template('main.html', search_string=search_string)

我的模板,main.html:

<form name="filters" action="{{ url_for('filter') }}" method=post id="filters">
   <div style="position: absolute; top:100px; left:300px">
       <p>Search string: <input type=text size=80 title="Match all of the words"   name=search_string value="{{search_string}}"></p>
       <input type=submit value=Filter/Search onclick=loopSelected();>
       <input type="hidden" name="chosen" id="chosen" value="{{chosen}}" />
   </div>
</form>

1 个答案:

答案 0 :(得分:6)

您现在正在使用POST请求。使用GET请求,因此浏览器会将您的表单值放入URL。

HTML表单中的

set method =“GET”:

<form name="filters" action="{{ url_for('filter') }}" method="GET" id="filters">

您将获得以下格式的网址:

http://host/filter?search_string=test&chosen=<id>&<some other trash>

在Flask中使用request.args而不是request.form:

if request.method == 'GET':
    if request.args.get('search_string'):
        ...