2016-09-23 31 views
0

我使用python requests.post函數發送json查詢到我的django應用程序。如何使requests.post不包裝在python數組中的字典值?

r = requests.post(EXTERNAL_SERVER_ADDRESS, data={'123':'456', '456':'789'}) 

但外部服務器request.POST對象上看起來是這樣的:

<QueryDict: {'123': ['456'], '456': ['789']}>

它爲什麼會發生?我怎麼才能發一個字典?

+0

我認爲你之所以沒有簡單字典是因爲你的請求中可能有幾次相同的密鑰。試試用--data k = 1&k = 2來捲曲,我準備下注Django爲你提供兩個值。 –

回答

1

請求在這裏沒有做任何事情。推測你的接收服務器是Django;這就是它代表來自請求的數據的方式。 request.POST['123']仍然會給'456'。

1

您正在發送字典,Django在接收到消息時自動在此QueryDict objetc中轉換此JSON。如果你想解析一個字典,請執行:

myDict = dict(queryDict.iterlists()) 
相關問題