【问题标题】:flask - url with searched word烧瓶 - 带有搜索词的网址
【发布时间】:2012-07-25 07:18:54
【问题描述】:

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

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>

【问题讨论】:

    标签: python flask


    【解决方案1】:

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

    在 HTML 表单中设置 method="GET":

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

    您将获得以下形式的 URL:

    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'):
            ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 2014-09-22
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      相关资源
      最近更新 更多