2011-04-21 51 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