获取django视图中的复选框帖子列表

gad*_*dss 21 python django django-templates

我在我的模板中有这个代码:

{% for email in emails %}
  {%if email%}
     <input type="checkbox" name="email" value="{{email}}" /> {{email}}<br />
  {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

所以模板中的输出是:

email1@sample.com
email2@sample.com
email3@sample.com
...
Run Code Online (Sandbox Code Playgroud)

在我看来,我打印了我的请求.关于这个.

print request.POST
print request.POST['email']
for email in request.POST['email']:
 print email
Run Code Online (Sandbox Code Playgroud)

我有这个输出:

<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
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在我的观点中获取电子邮件列表?我希望输出会像这样..

email1@sample.com
email2@sample.com
email3@sample.com
...
Run Code Online (Sandbox Code Playgroud)

DrT*_*rsa 39

使用request.POST.getlist:

以Python列表的形式返回带有请求键的数据.如果密钥不存在且未提供默认值,则返回空列表.除非提供的默认值不是列表,否则保证返回某种列表.

  • 更具体地说,`for request.POST.getlist('email')`中的电子邮件 (5认同)
  • 我同意(这就是为什么我最初给你的答案+1),但为了完全我添加它. (2认同)