2012-07-25 73 views
3

我想问如何让我的网站包含我搜索到的worh。事情是这样的:瓶 - 带搜索词的网址

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> 

回答

6

您现在使用的POST请求。使用GET请求,浏览器会将您的表单值添加到URL。

HTML格式设置方法

= “GET”:

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

你会得到以下形式的网址:

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

在瓶使用request.args中代替的request.form:

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

请接受答案,如果你喜欢它:) – HighCat 2012-07-25 10:15:43

+0

非常感谢很多人。 – voyagersm 2012-07-27 12:33:12