2011-04-21 38 views
4

我注意到,大約有30個叉的Django活塞在GitHub上:Django的活塞叉混亂

https://github.com/search?q=django-piston&type=Everything&repo=&langOverride=&start_value=1

我與框架的問題是,無論是0.2.2和0.2.1版本似乎沒有當我通過POST + application/json發送數據時,適當填充request.data字段。我很確定問題存在,我花了很多時間來測試它。此外,我也看到一些門票抱怨同樣的問題(如果我正確理解投訴)。

我的問題是:所有的Django Piston用戶 - 你使用哪個版本並且找到最穩定的版本。 request.data字段是否適合您。

編輯:

哇,居然還有〜140個叉子上到位桶... https://bitbucket.org/jespern/django-piston/descendants

EDIT(2):

其實,後嘗試過活塞相當有一段時間 - 我不得不說 - 它的代碼庫非常混亂。可能會更混亂,但它不完全是自我解釋。此外,它有一些可怕的想法,其中大部分都與全局變量有關。在追蹤了一些在Piston的一些奇怪的設計決策中有根源的錯誤後,我終於拒絕了它,現在轉向了TastyPie。自那以後沒有任何問題。

+1

是的..這是一個爛攤子..但0.2.2完全適合我(包括與POST和JSON數據request.data) – 2011-04-21 18:57:12

+0

@Henrik但你是否提交JSON格式的數據? – julkiewicz 2011-04-21 19:00:49

+0

yup ..例如https://gist.github.com/935254 – 2011-04-21 19:03:26

回答

3

那麼終於跟蹤了下來。必須先學會查看資料來源,因爲問題證明不是那麼嚴重。那麼,jQuery總是在請求的末尾附加「; charset = utf-8」。另一方面,Piston假定MIME類型與註冊名稱完全匹配。在其他情況下,它會提出BAD_REQUEST。 utils.py中的一個小修改,並且所有事情都按預期再次運行。

+0

而「utils.py中的一個小修改」將會是...? – Dolph 2011-08-11 20:07:43

+0

嗯,問題是,從那時起,我切換到其他庫(tastypie),但我記得它是爲指定的內容類型註冊解析器的行。我將內容類型從「json」更改爲「json; charser-utf-8」並打勾。如果你找不到它,我可以挖掘我過去的提交。 – julkiewicz 2011-08-12 13:05:43

+0

啊,很簡單。我認爲你正在用BAD_REQUEST做一些事情。謝謝! – Dolph 2011-08-14 03:45:25