एक Django दृश्य में आप का उपयोग कर सकते हैं request.GET['variablename']
, इसलिए आपके विचार में आप कुछ इस तरह से कर सकते हैं:
myvar = request.GET['myvar']
वास्तविक request.GET['myvar']
वस्तु प्रकार है:
<class 'django.http.QueryDict'>
अब, यदि आप एक ही पैरामीटर नाम के साथ कई चर पास करना चाहते हैं, अर्थात:
http://example.com/blah/?myvar=123&myvar=567
आप list
पैरामीटर के लिए एक अजगर लौटना चाहते हैं myvar
, तो कुछ इस तरह से करें:
for var in request.GET['myvar']:
print(var)
हालाँकि, जब आप यह कोशिश करते हैं कि आपको केवल अंतिम मान url में मिलता है अर्थात ऊपर दिए गए उदाहरण में आपको 567 मिलेगा , और शेल में परिणाम होगा:
5
6
7
हालाँकि, जब आप इसका एक प्रिंट करते हैं तो request.GET
ऐसा लगता है कि इसका कोई list
अर्थ है:
<QueryDict: {u'myvar': [u'123', u'567']}>
ओके अपडेट: यह अंतिम मूल्य वापस करने के लिए डिज़ाइन किया गया है, मेरा उपयोग मामला है मुझे एक सूची की आवश्यकता है।
django डॉक्स से:
QueryDict। getitem (कुंजी) दिए गए कुंजी के लिए मान लौटाता है। यदि कुंजी का एक से अधिक मान है, तो getitem () अंतिम मान लौटाता है। यदि django.utils.datastructures.MultiValueDictKeyError उठाता है, तो कुंजी मौजूद नहीं है। (यह पायथन के मानक KeyError का एक उपवर्ग है, इसलिए आप KeyError को पकड़ने के लिए चिपक सकते हैं
QueryDict.getlist (कुंजी) पायथन सूची के रूप में अनुरोधित कुंजी के साथ डेटा लौटाता है। यदि कोई कुंजी मौजूद नहीं है, तो एक खाली सूची देता है। यह किसी प्रकार की सूची वापस करने की गारंटी है।
अद्यतन: अगर किसी को पता है कि डेजैंगो देव ने ऐसा क्यों किया है तो कृपया मुझे बताएं, लगता है कि एक सूची दिखाने के लिए काउंटर-सहज ज्ञान युक्त है और यह एक जैसा व्यवहार नहीं करता है। बहुत अजगर नहीं है!