【发布时间】:2013-12-11 09:46:02
【问题描述】:
我有一个捕获用户详细信息的表单,在这个表单上我有许多单选按钮组,其值为 true 和 false。而且我还有多选框,我需要将其转换为列表。
我想在序列化为 JSON 并将它们发送到服务器端之前将这些字段转换为布尔值和列表。目前我正在服务器端转换这些值。
当我序列化它时,它会发送 NestedMultiDict,它是一个元组列表字典。 我需要将单选按钮(当前为字符串)的值转换为布尔值,并将多选的值放在一个列表中。 这就是我目前的做法:
jQuery/AJAX:
$("button").click(function(e) {
e.preventDefault();
$("input,select,textarea").jqBootstrapValidation();
var url = "{{'candidates.json'|route_url}}";
var data = $("form[name=modify]").serialize();
console.log(data);
//console.log(data);
$.post(url, data).success(function() {
update_messages();
}).error(function() {
console.log(url);
alert("failed");
});
});
Python:
def getBool(**d):
for k,v in d.iteritems():
if v == "True":
d[k] = True
print "true",d[k]
elif v == "False":
d[k] = False
print "false",d[k]
return d
当我需要将多选值放入列表并放回字典时,问题就出现了。我不知道如何转换这些值,然后将它们放回字典中。
可以这样做吗?如果是这样,我怎么能做到这一点?
作为一个附带问题:最有效的方法是什么?
【问题讨论】:
标签: jquery python json dictionary