Python(tastype)POST请求错误,返回“error”di

2024-03-29 00:51:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用tastype将数据发送到我的Django支持的服务器。在

我有这个模型

class Open(models.Model):
    name=models.TextField()

还有这个URLconf

^{pr2}$

当我运行tastypecurl命令时

curl --dump-header - -H "Content-Type: application/json" -X POST --data '{"name","awdawd"}' http://localhost:8000/api/open/

我知道错误了

HTTP/1.0 400 BAD REQUEST
Date: Sat, 05 Apr 2014 12:18:48 GMT
Server: WSGIServer/0.1 Python/2.7.3
X-Frame-Options: SAMEORIGIN
Content-Type: application/json

{"error": ""}

我什么都试过了,但似乎没法用。在

有人知道这件事吗?在

事先非常感谢


Tags: 数据djangoname模型服务器jsonmodelapplication
2条回答

每当我提供无效的JSON数据时,都会出现这个无用的错误。在

正确的JSON格式为:

{"foo": "bar"}                     // correct!

[{"foo": "bar"}, {"fiz": "baz"}]   // correct!

{"foo": "bar", "fiz": "baz"}       // correct!

常见错误的例子:

^{pr2}$

更复杂的错误示例:

^{3}$

你的JSON是有效的吗?用JSON validator再次检查。在

由于tastype使用JSON数据,因此还必须提供此格式。 将此作为数据:

 data '{"name": "myName"}'

另外,我不知道你如何建立你的网址,但我可以向你展示一个有效的网址设置:

^{pr2}$

这将创建以下url以访问您的资源:

^{3}$

最后得到以下curl命令:

curl  dump-header - -H "Content-Type: application/json" -X POST  data '{"name": "myName"}' http://localhost:8000/api/v1/open/

别忘了在资源的元数据中添加授权和身份验证

OpenResource(ModelResource)
    class Meta:
    queryset = Open.objects.all()
    authorization = Authorization()  

因为默认情况下,tastype使用ReadOnlyAuthorization设置一个资源,禁止post、put访问。在

有关详细信息,请阅读文档:https://django-tastypie.readthedocs.org

希望这有帮助,干杯!在

相关问题 更多 >