首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python后数据列表只给出乘法器的最后一个值。

python后数据列表只给出乘法器的最后一个值。
EN

Stack Overflow用户
提问于 2014-06-01 15:32:30
回答 1查看 41关注 0票数 0

我创建了一个具有多个复选框(分组)的表单,当发布这些数据时,它看起来如下所示:

代码语言:javascript
运行
复制
<QueryDict: {u'action': [u'delete'], u'mails': [u'1', u'2']}>

但是现在,当我试图访问“邮件”中的数据时,我只得到了最后的结果:(其中postdata是我的Querydict)

代码语言:javascript
运行
复制
def mail_action(postdata, character):
    if postdata['action'] == "delete":
        for mail in postdata['mails']:
            print mail

wo用这个只能打印"2“

我需要做些什么才能得到完整的“邮件”清单?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-01 16:07:40

根据Django的QueryDict.__getitem__(key)文档,它说:“如果键有多个值,__getitem__()将返回最后一个值。”所以你所看到的行为是有意的。

要获取所有值,请尝试使用QueryDict.getlist(key, default),它“以请求的键作为Python返回数据。如果键不存在且没有提供默认值,则返回一个空列表。它保证返回某种类型的列表,除非默认值不是list”。

因此,您的代码可以是:

代码语言:javascript
运行
复制
def mail_action(postdata, character):
    if postdata['action'] == "delete":
        for mail in postdata.getlist('mails'):
            print mail
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23981450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档