使用 Flask 在主视图上检索 POST 请求数据

Retrieving POST request data on main view using Flask

我的 html 文件中有以下代码

    <form role="form" class="animate" data-animate="fadeInUp" method="post" action="{{ url_for('test') }}">
        <div class="input-group">

            <div id="the-basics">
                <input id="search" type="text" class="typeahead form-control input-lg" placeholder="Search">
            </div>

            <span class="input-group-btn">
                <button class="btn btn-lg btn-default" type="submit">Search</button>
            </span>
        </div>
    </form>

但是当我尝试获取 view.py 上的值时,我得到:

@app.route('/test', methods=['GET', 'POST'])
def test():
    print request.form
    print request.data
    return 'OK'

>> ImmutableMultiDict([])

关于为什么我不能打印输入框上写的值的任何线索?

试试这个 print(request.form.get("search"))

首先,您需要为输入标签添加名称属性。像这样:

<input name="search" id="search" type="text" class="typeahead form-control input-lg" placeholder="Search">

您要打印的 request.form 对象实际上是一个字典。它包含来自表单的值,按名称属性排序。要检索搜索框中的值,您需要访问字典中的搜索值:

request.form['search']

希望对您有所帮助。