2012-04-23 2 views
18

Ich habe diesen Code in meiner Vorlage:erhalten die Liste der Kontrollkästchen Post in django Ansichten

{% for email in emails %} 
    {%if email%} 
    <input type="checkbox" name="email" value="{{email}}" /> {{email}}<br /> 
    {% endif %} 
{% endfor %} 

so die Ausgabe in der Vorlage:

[email protected] 
[email protected] 
[email protected] 
... 

in meinen Ansichten gedruckt ich meine Anfrage. POST darüber.

print request.POST 
print request.POST['email'] 
for email in request.POST['email']: 
print email 

Ich habe diese Ausgabe:

<QueryDict: {u'email': [u'[email protected]', u'[email protected]', u'[email protected]'], ..., u'csrfmiddlewaretoken': [u'05e5bdb542c3be7515b87e8160c347a0', u'05e5bdb542c3be7515b87e8160c347a0']}> 
[email protected] 
e 
m 
a 
i 
l 
3 
@ 
s 
a 
m 
p 
l 
e 
. 
c 
o 
m 

meine Frage ist, wie kann ich die Liste der E-Mails in meinen Ansichten bekommen? Ich wollte die Ausgabe so sein ..

[email protected] 
[email protected] 
[email protected] 
... 

Antwort

34

Verwendung request.POST.getlist:

Gibt die Daten mit der angeforderten Schlüssel, als Python-Liste. Gibt eine leere Liste zurück, wenn der Schlüssel nicht existiert und kein Standardwert angegeben wurde. Es wird garantiert, dass eine Liste mit einer bestimmten Art zurückgegeben wird, es sei denn, der angegebene Standardwert ist keine Liste.

+5

Insbesondere 'für E-Mail in request.POST.getlist (‚E-Mail‘)' –

+0

@burhan Ja, aber ich denke, dass einige Dokumente und Schreiben zu lesen, die sich die Linie hilfreicher ist als Kopie-Einfügen es. – DrTyrsa

+2

stimme ich zu (weshalb ich Ihre Antwort zuerst +1), aber um es vollständig zu tun, ich habe es hinzugefügt. –

Verwandte Themen