我正在通過命令行卷曲以下請求:Django的POST子字典
curl -X POST http://localhost:8000/api/places/ -vvvv -d "place[name]=Starbucks"
然而,當我試圖通過調用
request.POST.getlist('place')
訪問參數我得到一個空數組作爲響應。我如何訪問可以傳遞給ORM的子字典?
謝謝,
傑米
我正在通過命令行卷曲以下請求:Django的POST子字典
curl -X POST http://localhost:8000/api/places/ -vvvv -d "place[name]=Starbucks"
然而,當我試圖通過調用
request.POST.getlist('place')
訪問參數我得到一個空數組作爲響應。我如何訪問可以傳遞給ORM的子字典?
謝謝,
傑米
HTTP數據元素不能具有子元素。您發佈的數據(如querydict中所示)已被解釋爲包含關鍵「place [name]」和值「Starbucks」的單個元素。所以你可以用request.POST["place[name]"]
得到它。
啊,這就是我所害怕的。謝謝。我來自PHP背景,所以我習慣了$ _POST ['place'] ['name']。謝謝! – 2010-07-02 19:34:33
它看起來像你發送一個字符串,在這種情況下嘗試:
request.POST.get('place[name]')
如果您在模擬你應該發送「地方=星巴克」下拉列表中,但是如果你要發送一個數組你應該嘗試將你的字符串轉換爲你的python腳本中的一個數組。
在你的命令,你可以得到的 「-X POST」 順風車作爲參數-d已經是一個HTTP POST:
curl --help
...
-d/--data <data> HTTP POST data (H)
什麼request.POST樣子? – sdolan 2010-07-02 18:49:11