Python tastypie,POSTing XML

时间:2012-09-05 18:29:36

标签: python django tastypie

你可以将xml发布到tastypie吗?

我正试图发布这样的内容:

<?xml version="1.0" ?>
<brand>
  neat
</brand>

到具有品牌属性http://127.0.0.1:8000/api/v1/myentry/的模型资源。我回来了:

AttributeError: 'str' object has no attribute 'items'

xml应采用什么格式?我能找到的所有例子都是发布json,而不是xml。

感谢您的帮助。

修改

我还应该注意,在XML数据中我希望能够设置限制和偏移量以及过滤器。

1 个答案:

答案 0 :(得分:1)

是的,你可以!

查看http://django-tastypie.readthedocs.org/en/latest/interacting.html#creating-a-new-resource-post

时的文档

json有一个例子:

curl --dump-header - \ 
    -H "Content-Type: application/json" -X POST \
    --data '{"title": "Hello JSON", "date": "1970-01-01"}' \
    http://x.x.x.x/api/entry/

正如您所看到的,内容类型和json对象随请求一起发送。 如果要发送xml,只需替换内容类型并发送xml对象。 如果查看http://x.x.x.x/api/entry/?format=xml

,您可以看到xml对象的格式

这导致:

curl --dump-header - \
    -H "Content-Type: application/xml" -X POST \
    --data '<object><title>Hello XML</title><date>200-01-01</date></object>' \
    http://x.x.x.x/api/entry/