2012-04-23 17 views
18

Şablonumdaki bu kodu vardır:django görünümlerinde onay kutusu yazının listesini almak

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

böylece şablonunda çıkışı: my görünümlerinde

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

benim isteği baskılı. Bu konuda POST.

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

ben bu çıktıyı var:

<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 

benim sorum, nasıl benim görünümlerinde e-postaların listesini alabilir edilir? Ben çıkışı böyle olacak istedi ..

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

cevap

34

Kullanım request.POST.getlist:

bir Python liste olarak istenen anahtar ile veriyi döndürür. Anahtar yoksa ve boş bir değer belirtilmemişse boş bir liste döndürür. Sağlanan varsayılan değer bir liste olmadığı sürece, listenin bir listesini döndürme garantisi vardır.

+5

Daha spesifik olarak, 'request.POST.getlist e-posta ('email')' –

+0

Evet @burhan ama kendinizi kopyalayıp yapıştırma o daha yararlıdır satır bazı dokümanlar ve yazma okuma düşünüyorum için. – DrTyrsa

+2

Katılıyorum (bu yüzden başlangıçta cevabınızı + 1'liyorum), ancak tamamen ekledim. –