我的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([])
为什么我无法打印输入框上写的值的任何线索?
答案 0 :(得分:1)
首先,您需要为输入标记添加name属性。像这样:
<input name="search" id="search" type="text" class="typeahead form-control input-lg" placeholder="Search">
您尝试打印的request.form对象实际上是一个字典。它包含表单中的值,按名称属性排序。要检索搜索框中的值,您需要访问字典中的搜索值:
request.form['search']
希望这会有所帮助。
答案 1 :(得分:0)
试试这个print(request.form.get("search"))