2013-11-14 3 views
5

अनुरोध में पैरामीटर हैं। अनुरोध और अनुरोध। अनुरोध में दोनों जाओ। अनुरोध? या मुझे उनमें से प्रत्येक के लिए जांच करनी है?क्या Django request.REQUEST.get() में दोनों मिलते हैं और पोस्ट पैरामीटर होते हैं?

मुझे अनुरोध/क्वेरीरी दोनों के लिए प्रलेखन में स्पष्ट जानकारी नहीं मिल रही है। एनबी: Django 1.4 अंतिम

उत्तर

8

नहीं, पुराने संस्करणों में यह संभव था लेकिन Django 1.7 में गिरावट आई थी। Django पुरातत्वविदों के लिए प्राचीन संस्करण चल रहा है, पढ़ने के लिए रखें।

documentation से:

HttpRequest.REQUEST

सुविधा के लिए, एक शब्दकोश की तरह उद्देश्य यह है कि पोस्ट पहले खोज करता है, तो प्राप्त करें। PHP के $ _REQUEST से प्रेरित

उदाहरण के लिए, यदि GET = {"name": "john"} और POST = {"age": '34'}, अनुरोध ["नाम"] "जॉन" होगा, और अनुरोध ["आयु" ] "34" होगा।

यह दृढ़ता से सुझाव दिया जाता है कि आप अनुरोध के बजाय जीईटी और पोस्ट का उपयोग करें, क्योंकि पूर्व अधिक स्पष्ट हैं।

+0

धन्यवाद @GrantJ! करूँगा ! –

1

हाँ, दस्तावेज़ का कहना है:

HttpRequest.REQUEST सुविधा के लिए, एक शब्दकोश की तरह उद्देश्य यह है कि खोजें पहली पोस्ट है, तो प्राप्त करें। PHP के $ _REQUEST से प्रेरित

उदाहरण के लिए, यदि GET = {"name": "john"} और POST = {"आयु": '34'}, अनुरोध ["नाम"] "जॉन" होगा, और अनुरोध ["आयु "]" 34 "होगा।

यह दृढ़ता से सुझाव दिया गया है कि आप REQUEST, के बजाय जीईटी और पोस्ट का उपयोग करें क्योंकि पूर्व अधिक स्पष्ट हैं।

+0

उत्तर के लिए धन्यवाद! करूँगा ! –

1

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

नाम = request.GET.get ('नाम', request.POST.get ('नाम'))

1

आप जो आप की जरूरत है सुनिश्चित नहीं हैं कि का उपयोग करें, यदि सुविधाजनक हो सकता है इस के साथ बदलने के लिए:

def get_post_or_get(request): 
    """ 
    Return the equivalent of request.REQUEST 
    which has been removed in Django 1.9 
    """ 
    return request.POST or request.GET 

संदर्भ: https://github.com/edx/django-openid-auth/pull/5/commits/aa5eef791cd487eb359db25011572d5966a2c92a

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