2009-03-06 22 views
45

का उपयोग कर <एकाधिक का चयन करें> और मैं अपने टेम्पलेट में कुछ इस तरह उपयोग कर रहा हूँDjango: पोस्ट

<select multiple="multiple" name="services" id="services" size="5"> 
    {% for service in services %} 
     <option value="{{service.id}}">{{service}}</option> 
    {% endfor %} 
</select> 

जब मैं Firebug या Django डिबग में पोस्ट डेटा देख, मैं इसे देखना केवल एक मान भेजता है। क्या मैं कुछ अवधारणा गलत या गलत समझ रहा हूं? क्योंकि छोड़ते हुए [] की वजह से एक खाली सूची सही मान के स्थान पर वापस करने

list = request.POST.getlist("items[ ]") 

:

+0

टेम्पलेट को प्रदान की जाने वाली सेवाओं का मूल्य क्या है? –

+0

क्या आपका मतलब है: सेवाएं = Service.objects.all() वापसी render_to_response ('add.html', {'सेवाएं': सेवाएं}) ?? (मुझे इन टिप्पणियों को प्रारूप में नहीं मिल सकता है।) – neoice

+3

@neoice: संकेत: टिप्पणियों में अपने प्रश्नों के विवरण न जोड़ें। तथ्यों को जोड़ने के लिए अपना प्रश्न संपादित करें। सवाल हमेशा सही ढंग से स्वरूपित करता है। और सवाल बिना किसी टिप्पणी के धागे के खड़े हो जाना चाहिए। –

उत्तर

110
request.POST.getlist('services') 
+0

जैकपॉट! मुझे लगता है कि मैं _did_ को सेवाओं में सेवाओं को बदलने की जरूरत है [], लेकिन इसके लिए getlist r0xors। मैंने सोचा कि मैं Django दस्तावेज़ों को खराब कर दूंगा लेकिन स्पष्ट रूप से, मैं गलत था। – neoice

+5

आपको [] की आवश्यकता नहीं है। यह एक सम्मेलन PHP तक ही सीमित है। – bobince

+0

यह उल्लेखनीय हो सकता है कि यह जीईटी डेटा के लिए भी काम करता है। 'request.GET.getlist ('सेवाएं')' – Aaron

8

बस FYI करें, मैं का उपयोग करने के लिए किया था। मैं एकाधिक चयन तत्व के मान लाने के लिए jQuery का उपयोग कर रहा हूं, और jQuery []

1

जोड़ना प्रतीत होता है! यदि क्वेरी मौजूद नहीं है तो QueryDict से getlist विधि एक खाली सूची देता है। यह एक अपवाद फेंक नहीं है। http://bit.ly/MdgrUH

0

तुम सिर्फ का उपयोग करके की उम्मीद सूची प्राप्त कर सकते हैं ...

request.POST.getlist('fiel_name') 
0

request.POST.getlist ('सेवाओं')

मेरे लिए काम किया। या आप सूची बॉक्स नाम को एक सूची के रूप में परिभाषित कर सकते हैं

+0

यह उत्तर कैसे सुधारता है: https://stackoverflow.com/a/618626/982161 ?? –

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