2010-03-10 15 views
40

Merhaba Bir dizi onay kutum var. Birden fazla seçilirseSeçilen tüm onay kutularının değerlerini Django isteğinde nasıl alırım.POST?

<input type="checkbox" name="checks[]" value="1" /> 
<input type="checkbox" name="checks[]" value="2" /> 
<input type="checkbox" name="checks[]" value="3" /> 
<input type="checkbox" name="checks[]" value="4" /> 

nasıl view.py bu erişebilirim?

Ben

request.POST['checks'] 

denedi ama bu sadece bana geçen bir değer verir. İstediğim şey, bir listede seçili olanlardır. 1,3,4

Teşekkür

cevap

48

bu deneyin:

some_var = request.POST.getlist('checks') 

some_var[1,3,4] (kontrol edildi bu değerleri)

+1

bu 'request.POST.getlist' ('checks') ' – Claudiu

17

Bu sorunu çözecektir içerecektir,

some_var = request.POST.getlist('checks[]') 

some_var = request.POST.getlist('checks') yazıyorsanız düzgün çalışmayabilir.

+0

olmalıdır. Django 1.8+ için yapmanız gereken yol budur (Daha önceki sürümlerde veya OP'nin hangi sürümde kullanıldığını bilmiyorum. zaman). – tokyovariable

+0

Bunu mu demek istediniz: getlist ('check', []) '? Eğer öyleyse, en azından [sürüm 1.10] 'da (https://docs.djangoproject.com/en/1.10/ref/request-response/#django.http.QueryDict.getlist), parantez gerekli değildir. 'getlist ', eksik anahtarlar için varsayılan olarak boş bir liste döndürecektir. –

İlgili konular