2012-04-23 14 views
18

tengo este código en mi plantilla:obtener la lista de correos casilla de verificación en las vistas de Django

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

lo que la salida de la plantilla es:

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

en mi punto de vista me impresa mi solicitud. POST sobre esto.

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

Tengo esta salida:

<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 

mi pregunta es, ¿cómo puedo obtener la lista de correos electrónicos en mis puntos de vista? Yo quería que la salida será como esto ..

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

Respuesta

34

Uso request.POST.getlist:

devuelve los datos con la clave solicitada, como una lista de Python. Devuelve una lista vacía si la clave no existe y no se proporcionó ningún valor predeterminado. Se garantiza que devolverá una lista de algún tipo a menos que el valor predeterminado proporcionado no sea una lista.

+5

Más específicamente, 'para el correo electrónico en request.POST.getlist ('email')' –

+0

@burhan Sí, pero creo que la lectura de algunos documentos y escritos que se alinean a sí mismo es más útil que copiar y pegar la misma. – DrTyrsa

+2

Estoy de acuerdo (que es por qué I +1 su respuesta inicialmente), pero por el bien de completamente lo agregué. –

Cuestiones relacionadas