You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python获取表单中多选下拉框的提交值

如何使用Python获取表单提交的多选下拉框输入内容

对应的多选下拉框HTML代码示例如下:

<select name="files" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

带multiple属性的下拉框提交表单时,浏览器会将所有被选中项的value以同名参数多值的形式发送到后端,普通的单值读取方法只能拿到最后一个选中项,需要用对应框架的多值读取方法获取全部结果,不同常用Python Web框架的实现如下:

  • Flask框架
    使用request.form的getlist()方法读取同名多值参数,返回结果为选中值组成的列表:

    from flask import Flask, request
    app = Flask(__name__)
    
    @app.route('/submit', methods=['POST'])
    def handle_form():
        # 例:选中1、3、5时,selected_files值为['1', '3', '5']
        selected_files = request.form.getlist('files')
        # 后续业务逻辑处理
        return f"已选中的文件ID:{selected_files}"
    
  • Django框架
    同样使用getlist()方法从POST请求体中读取多值参数:

    def submit_view(request):
        if request.method == 'POST':
            selected_files = request.POST.getlist('files')
            # 后续业务逻辑处理
            pass
    
  • FastAPI框架
    声明表单参数时将类型标注为列表,FastAPI会自动组装所有选中值为列表传入:

    from fastapi import FastAPI, Form
    from typing import List
    
    app = FastAPI()
    
    @app.post('/submit')
    async def handle_form(files: List[str] = Form(...)):
        # files即为所有选中值组成的列表
        return {"selected_files": files}
    

注意:如果表单带文件上传、使用multipart/form-data编码提交,上述读取逻辑不需要调整。如果是前端通过AJAX发送JSON格式请求,直接从请求JSON体中读取对应键的数组值即可。

内容的提问来源于stack exchange,提问作者Nikita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:03:23