如何在WSGI-Python中选择HTML表单的多个选项

0 投票
1 回答
594 浏览
提问于 2025-04-17 13:20

我需要在WSGI的Python代码中从HTML下拉菜单中选择多个选项。

以下是我的HTML表单:

    <form method=post>
    Please select names
    <select multiple="multiple" name="names" />
        <option>Name1</option>
        <option>Name2</option>
        <option>Name3</option>
    </select>
    <br />
    <input type='submit' name=operation value='Next' />
</form>

以下是WSGI的代码片段:

if 'POST' == environ['REQUEST_METHOD'] :
try :
    request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except:
    request_body_size = 0

request_body = environ['wsgi.input'].read(request_body_size)
query_dictionary = urlparse.parse_qs(request_body)
params = {}
for k, v in query_dictionary.iteritems() :
    if k <> 'json' :
        params[k] = v[0]

retailers = params.get('retailers', '')        

但我的问题是,当我在HTML表单中选择多个选项时,"names"变量只包含一个选项。怎么才能把所有选中的选项都传到Python脚本中呢?

提前谢谢你。

1 个回答

0

我觉得我找到了一个解决办法(虽然不是特别简单)。

在这个查询字典 dic 中,名字列表是唯一需要处理的地方,

    for k, v in query_dictionary.iteritems() :
    if k <> 'json' :
        if k =="names":
            names = v
        params[k] = v[0]
    params["names"] = names 

之后就可以遍历这个名字列表了。

撰写回答