2009-02-01 24 views
9

我想弄清楚如何使用Django和Django的其餘接口實現我的第一個RESTful接口。我在使用HTTP PUT請求時遇到問題。使用django-rest接口與http把

如何訪問PUT請求的參數? 我以爲他們會在request.POST數組中,因爲在我的理解中,PUT有點類似於POST,但是這個數組總是空的。

我在做什麼錯?

感謝您的幫助

+0

我認爲你已經嘗試了request.PUT? – 2009-02-01 13:08:15

回答

13

request.POST處理表單編碼的數據轉換成一個字典,它纔有意義,對網頁瀏覽器表單提交。沒有PUT的等價物,因爲網頁瀏覽器不是PUT格式;提交的數據可能有任何內容類型。您需要從request.raw_post_data中獲取原始數據,可能需要檢查內容類型,然後對其進行處理,但對您的應用程序有意義。

更多信息在this thread

3

,如果你在ResourceBase派遣算起來也有這樣一行:

elif request_method == 'PUT': 
    load_put_and_files(request) 
    return target.update(request, *args, **kwargs) 

load_put_and_files讓你準備request.PUT,其中y將request.method就是把數據,所以你不必擔心這個...