2010-07-21 9 views
24

में httprequest पोस्ट चर के माध्यम से लूप कैसे करें Django में HttpRequest पोस्ट चर के माध्यम से आप कैसे लूप कर सकते हैं?पायथन

मैं

for k,v in request.POST: 
    print k,v 

जो ठीक से काम नहीं कर रहा है।

धन्यवाद!

उत्तर

74

request.POST एक शब्दकोश-जैसी वस्तु है जिसमें सभी HTTP पोस्ट पैरामीटर शामिल हैं।

जब आप request.POST के माध्यम से लूप करते हैं, तो आपको केवल चाबियां मिलती हैं।

for key in request.POST: 
    print(key) 
    value = request.POST[key] 
    print(value) 

कुंजी और मूल्यों को एक साथ प्राप्त करने के लिए, items विधि का उपयोग करें।

for key, value in request.POST.items(): 
    print(key, value) 

ध्यान दें कि request.POST में प्रत्येक कुंजी के लिए कई आइटम हो सकते हैं। यदि आप प्रत्येक कुंजी के लिए एकाधिक आइटम की अपेक्षा कर रहे हैं, तो आप lists का उपयोग कर सकते हैं, जो सभी मानों को एक सूची के रूप में देता है।

for key, values in request.POST.lists(): 
    print(key, values) 

अधिक जानकारी के लिए QueryDict के लिए Django दस्तावेज़ देखें।

+6

बेहतर: 'कुंजी के लिए, request.POST.iteritems में मूल्य()' –

+3

ध्यान दें कि 'QueryDict' वस्तुओं कोई विशेषता 'iteritems' अजगर में 3. – Escher

+1

यहां तक ​​कि सामान्य शब्दकोशों कोई विधि 'राशि है iteritems()' पायथन में 3. 'iteritems()' केवल पायथन 2.x है। यह पायथन 3 में 'आइटम() 'है। यह हाल ही में Django में भी हटा दिया गया था, मुझे लगता है कि 1.9 अभी भी पायथन 3 में' itemitems()' था। –