में POST शब्दकोश को पोस्ट करता है मैं django में परीक्षण क्लाइंट का उपयोग करते समय वास्तव में विचित्र व्यवहार का अनुभव कर रहा हूं।डैंजो के प्रश्नोत्तरी विचित्र व्यवहार: एक एकल कुंजी
मैं अपने django ऐप में डेटा भेजने के लिए POST
का उपयोग कर रहा हूं। मैं आमतौर पर इसे एक आईफोन ऐप और/या एक परीक्षण एचटीएमएल फॉर्म से करता हूं। सर्वर साइड पर यह है कि कैसे मैं इसे संभाल:
def handle_query(request):
print request
q = con.QueryLog()
q.ID = request.POST.get('ID', '')
q.device = request.POST.get('device-model', '')
....
कि:
पोस्ट : QueryDict: {u'app-version ': [u'3.0'], u'server-version ': [u'v3d0'],
हालांकि, मैंने Django के परीक्षण क्लाइंट का उपयोग करके कुछ परीक्षण लिखना शुरू किया, और नहीं जो भी मैं कोशिश करता हूं, पोस्ट अनुरोध में भेजे गए POST पैरामीटर का शब्दकोश QueryDict
में एक ही कुंजी में बंधा हुआ है।
वर्ग SearchTest (testcase): डीईएफ़ सेटअप (स्वयं): मुझे कुछ कोड के साथ उदाहरण देकर स्पष्ट करने की अनुमति दें पास
def test_search(self):
request = HttpRequest()
data = '{"amzn_locale": "com"}'
# request._raw_post_data = data
resp = self.client.post(
'/is/',
data=data,
content_type='application/x-www-form-urlencoded',
# content_type='application/json',
)
सर्वर साइड पर एक ही प्रिंट बयान में शब्दकोश का अकथनीय समूह से पता चलता एक स्ट्रिंग:
POST: QueryDict: {u'{"amzn_locale":"com"}': [u'']}>,
अगर मैं एक वास्तविक शब्दकोश में डेटा सेट, एक ही बात
data = {"amzn_locale": "com"}
अनुरोध सेट करना ._raw_post_data कुछ भी नहीं बदलता है। न ही
content_type='application/json'
किसी भी मदद की बहुत सराहना की जाएगी। इस stackoverflow सवाल से ऐसा लगता है जैसे मैं इस iphone Json POST request to Django server creates QueryDict within QueryDict
गैबी संपादन – Andres