【问题标题】:tastypie : return reponse in xml format美味派:以 xml 格式返回响应
【发布时间】:2012-03-01 05:20:59
【问题描述】:

我从文档中读到支持 XML 格式 http://django-tastypie.readthedocs.org/en/latest/serialization.html#to-xml,但是在当前任务中,我只需要在浏览器中输入http://url/api/entry/?format=json,并在URL.py中定义对应的url和入口资源,json的序列化处理得很好。但是对于xml,我似乎找不到有用的例子,还有额外的事情要做吗?

#urls.py
entry_resource = EntryResource()
urlpatterns = patterns('',
    url(r'^api/', include(entry_resource.urls)),
)

#entry class
class EntryResource(Resource):
....
....fields

class Meta:
    resource_name = 'entry'
    object_class = Entry
    ....

【问题讨论】:

    标签: django tastypie


    【解决方案1】:

    XML 格式也应该开箱即用。当您发出以下请求时,您应该能够看到它:

    GET http://url/api/entry/?format=xml
    

    如果这似乎不起作用,则说明某处存在错误,但如果没有更多详细信息(例如您的资源定义),我们将无法提供帮助。

    更新:

    Tastypie documentation on Serialization 有一个开箱即用支持的格式列表。

    【讨论】:

    • 我确实尝试过,但它说在 /api/v1/entry/ 正确配置 XML 方面的使用需要 lxml。所以 lxml lib 是缺少的。我认为我定义资源的方式有问题。
    • 查看您粘贴的源代码,缩进是错误的,但也许这只是复制粘贴的结果?你也确定 lxml 安装正确吗?编译需要一些时间,并且可能会在最后的某个地方出现错误。然而,这与美味派本身无关。一旦你得到你的XML,它应该可以工作。至于资源,请尽量简化它们并确保它们遵循语法...
    • 现在您已经粘贴了代码示例,我看到您的资源不是从 ModelResource 类派生的。因此,要使序列化工作,您需要确保“条目”对象是可序列化的。但是,如果 JSON 可以工作,那么 XML 也应该...您能否粘贴您得到的完整错误回溯?
    • 如果答案对您有帮助,您可以“选择”它,这有助于建立我的声誉……对于回答您的问题所付出的努力是很好的奖励……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2014-01-23
    • 1970-01-01
    • 2013-10-14
    • 2013-03-11
    相关资源
    最近更新 更多