获取 Django 视图中的复选框列表
Posted
技术标签:
【中文标题】获取 Django 视图中的复选框列表【英文标题】:get the list of checkbox post in django views 【发布时间】:2012-05-03 20:10:48 【问题描述】:我的模板中有这段代码:
% for email in emails %
%if email%
<input type="checkbox" name="email" value="email" /> email<br />
% endif %
% endfor %
所以模板中的输出是:
email1@sample.com
email2@sample.com
email3@sample.com
...
在我看来,我为此打印了我的 request.POST。
print request.POST
print request.POST['email']
for email in request.POST['email']:
print email
我得到了这个输出:
<QueryDict: u'email': [u'email1@sample.com', u'email2@sample.com', u'email3@sample.com'], ..., u'csrfmiddlewaretoken': [u'05e5bdb542c3be7515b87e8160c347a0', u'05e5bdb542c3be7515b87e8160c347a0']>
email3@sample.com
e
m
a
i
l
3
@
s
a
m
p
l
e
.
c
o
m
我的问题是,如何在我的视图中获取电子邮件列表? 我希望输出是这样的..
email1@sample.com
email2@sample.com
email3@sample.com
...
【问题讨论】:
【参考方案1】:使用request.POST.getlist:
以 Python 列表的形式返回带有请求键的数据。如果键不存在并且没有提供默认值,则返回一个空列表。除非提供的默认值不是列表,否则保证返回某种列表。
【讨论】:
更具体地说,for email in request.POST.getlist('email')
@burhan 是的,但我认为阅读一些文档并自己编写该行比复制粘贴更有帮助。
我同意(这就是为什么我最初 +1 你的答案),但为了完全我添加了它。以上是关于获取 Django 视图中的复选框列表的主要内容,如果未能解决你的问题,请参考以下文章
Django AJAX 请求仅获取最后一个元素(不是 getlist 问题)