如何从 Flask 中的表单获取多个选定项目

alp*_*ric 5 python flask

<form>选择了两个列表项“类别 01”和“类别 03”:

<form> 
    <div class="form-group">
      <div>
        <select name='category' multiple class="form-control">
            <option> Category 01 </option>
            <option> Category 01 </option>
            <option> Category 01 </option>
        </select>
      </div>
    </div>
</form> 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

if request.method == 'POST':
    as_dict = request.form.to_dict()
    print request
Run Code Online (Sandbox Code Playgroud)

打印此输出显示它只得到一个“类别 03”。

{'category': u'Category 01'}
Run Code Online (Sandbox Code Playgroud)

如何确保列出所有选定的类别,而不仅仅是一个?

小智 10

您将需要使用该getlist()函数来获取值列表。

首先,更改您的表格如下:

<form> 
    <div class="form-group">
      <div>
        <select id="myform" name='category' multiple class="form-control"> // addition here
            <option> Category 01 </option>
            <option> Category 01 </option>
            <option> Category 01 </option>
        </select>
      </div>
    </div>
</form> 
Run Code Online (Sandbox Code Playgroud)

在你的烧瓶功能中:

if request.method == 'POST':
    as_dict = request.form.getlist('myform')
    print request
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!