2012-04-23 10 views
18

Ho questo codice nel mio modello:ottenere l'elenco di posta casella di controllo in vista Django

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

così l'uscita nel modello è:

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

nel mio punto di vista ho stampato la mia richiesta. POST di questo.

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

ho ottenuto questo output:

<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 

La mia domanda è, come posso ottenere la lista dei messaggi di posta elettronica nel mio punto di vista? Volevo l'uscita sarà così ..

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

risposta

34

Uso request.POST.getlist:

restituisce i dati con la chiave richiesto, come una lista Python. Restituisce una lista vuota se la chiave non esiste e non è stato fornito alcun valore predefinito. È garantito restituire un elenco di qualche tipo a meno che il valore predefinito fornito non sia un elenco.

+5

In particolare, 'per la posta elettronica in request.POST.getlist ('e-mail')' –

+0

@burhan Sì, ma penso che la lettura di alcuni documenti e la scrittura che la linea da soli è più utile di copia-incolla di esso. – DrTyrsa

+2

Sono d'accordo (che è il motivo per cui ho +1 la tua risposta inizialmente), ma per il gusto di completamente l'ho aggiunto. –

Problemi correlati