2012-04-23 10 views
18

Mam ten kod w moim szablonu:uzyskać listę checkbox postu w Django widoki

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

więc wyjście w szablonie wynosi:

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

w moich poglądów wydrukowałem moją prośbę. POST o tym.

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

mam to wyjście:

<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 

moje pytanie jest, w jaki sposób można uzyskać listę e-maili w moich poglądów? Chciałem wyjście będzie tak ..

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

Odpowiedz

34

Zastosowanie request.POST.getlist:

Zwraca dane z żądanego klucza, jako lista Python. Zwraca pustą listę, jeśli klucz nie istnieje i nie podano wartości domyślnej. Gwarantowane jest zwrócenie listy sortowania, chyba że podana wartość domyślna nie jest listą.

+5

Dokładniej, "do wiadomości e-mail w request.POST.getlist (" e-mail ")' –

+0

@burhan Tak, ale myślę, że czytanie niektórych dokumentów i pisanie tej linii jest bardziej pomocne niż kopiowanie-wklejanie. – DrTyrsa

+2

Zgadzam się (dlatego na początku udzielam +1 Twojej odpowiedzi), ale ze względu na całkowite dodanie go. –

Powiązane problemy