Python表单处理问题



我是新手。我想知道如何在CGI中处理基于数组的字段?

<form name="frmLogin" method="get" action="">
Username: <input type="text" name="login[username]" /><br/>
Password: <input type="password" name="login[password]" /><br/>
<input type="submit" name="login[submit]" />
</form>

我有一个类似上面的表单。如何将登录字段作为字典,其中关键字将是用户名,密码,提交及其相应的值。

我可以单独得到这个=>表单["login[username]"].value但如果我不知道密钥,也就是复选框[]我需要处理的职位和手动编码操作或有任何其他方式做到这一点?

php $_GET['login']中的

将给我定义的键值对数组,我需要这样的东西。

谢谢。

我不认为cgi.FieldStorage有一个类似的方法,你在php中描述的。但是,您可以编写类似这样的代码来完成相同的事情,给定字段名称的名称[attr]格式:

def get(form, prefix):
    output = {}
    def parse(key):
        name = key.split('[')[1].rstrip(']')
        output[name] = form[key]
    map(parse, [key for key in form.keys() if key.startswith(prefix)]
    return output

那么,在cgi中它看起来就像:

form = cgi.FieldStorage()
login_info = get(form, 'login')
print login_info['username']
print login_info['password']

最新更新