2010-03-10 15 views
40

हाय मेरे पास चेकबॉक्स की एक सरणी है उदा।मैं Django अनुरोध में सभी चयनित चेकबॉक्स के मान कैसे प्राप्त करूं? 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" /> 

यदि मैं एक से अधिक चुने गए हैं तो मैं view.py में इन तक कैसे पहुंच सकता हूं?

मैं

request.POST['checks'] 

की कोशिश की है, लेकिन वह सिर्फ मेरे पिछले मूल्य देता है। मैं जो चाहता हूं वो सभी सूची में चुने गए हैं। 1,3,4

धन्यवाद

उत्तर

48

इस प्रयास करें:

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

some_var[1,3,4] (उन मूल्यों कि जाँच कर रहे थे)

+1

यह 'request.POST.getlist ('चेक') होना चाहिए ' – Claudiu

17

यह आपकी समस्या को ठीक कर देंगे शामिल होंगे,

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

यदि आप some_var = request.POST.getlist('checks') लिखते हैं तो ठीक से काम नहीं कर सकते हैं।

+0

इस तरह से आपको Django 1.8+ के लिए ऐसा करने की ज़रूरत है (मुझे पहले के संस्करणों पर यकीन नहीं है या ओपी का कौन सा संस्करण उपयोग कर रहा था पहर)। – tokyovariable

+0

क्या आपका मतलब था 'getlist (' चेक ', []) '? यदि ऐसा है, कम से कम [संस्करण 1.10] (https://docs.djangoproject.com/en/1.10/ref/request-response/#django.http.QueryDict.getlist) में, ब्रैकेट की आवश्यकता नहीं है। लापता कुंजी के लिए 'getlist' डिफ़ॉल्ट रूप से एक खाली सूची लौटाएगा। –

संबंधित मुद्दे