gpt4 book ai didi

python - Flask getlist总是空的

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:14 26 4
gpt4 key购买 nike

我正在尝试添加复选框,以便可以从数据库中删除多条记录。我为多个输入提供了相同的 name,但是 request.form.getlist 返回一个空列表,即使某些框被选中也是如此。

{% for order in orders %}
<input type="checkbox" name="select_button" value="{{ order.order_id }}">
{% endfor %}
@mod_order.route('_delete_multiple_confirmation', methods=['GET', 'POST'])
def delete_multiple_orders_confirmation():
orders = (request.form.getlist('select_button'))
user_id = request.args.get('user_id')
response_context = {'orders': orders, 'user_id': user_id}
return render_template('delete_multiple_order_confirmation.html', **response_context)

最佳答案

这个让我失望了几个小时!!希望这篇文章可以帮助人们节省时间。

当您提供多个输入时,您的输入类型会隐式更改为数组。这意味着您必须从数组中提取结果。您可以通过在输入变量名称“[]”的末尾添加这 2 个字符来做到这一点:

在您的情况下,我们得到:orders = (request.form.getlist('select_button[]'))


全栈示例:

==>在你的 html 中使用 bootstrap

<select class="selectpicker" multiple title="input list" id="inputlist">
<option>input1</option>
<option>input2</option>
<option>input3</option>
</select>
<small>Click Go! to proceed : </small>
<button class="myConfirmButton btn btn-primary">Go!</button>
<small><div id="myFeedback"></div></small>

==>在你的 jquery/javascript 中

<script>
$(document).ready(function(){
$(".myConfirmButton").click(function(){
// this line creates the array of all the checked inputs
var values = $('#listinput').val()
$.ajax({
url:"/processlist",
dataType:'html',
type:'post',
contentType: 'application/x-www-form-urlencoded',
data : {
listinput: values
},
success: function( data ){
$('#myFeedback').html( data );
},
error: function( errorThrown ){
$('#myFeedback').html( errorThrown );
}
});
});
});
</script>

==>在你的 python flask 代码中

@app.route("/processlist",methods=['GET', 'POST'])
def processlist():
myinput=request.form.getlist('listinput[]') # here you add [] at the end
return '<br>'.join(myinput) # shows the total input

关于python - Flask getlist总是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47891935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com