使用 Django 提供 JSON 数据的正确/规范方式是啥?

Posted

技术标签:

【中文标题】使用 Django 提供 JSON 数据的正确/规范方式是啥?【英文标题】:What is the proper/canonical way to serve JSON data with Django?使用 Django 提供 JSON 数据的正确/规范方式是什么? 【发布时间】:2011-11-26 07:38:39 【问题描述】:

我想用 Django 将 JSON 响应传递给我的基于 jQuery 的客户端。

我可以设计一个模板来代替标记提供 JSON,但必须有一种方法可以更轻松地做到这一点。

Django 社区的常见做法是什么?

【问题讨论】:

【参考方案1】:

如果使用 python 2.6 或更高版本:

import json

其他:

import simplejson as json

然后你可以在你的视图代码中使用它:

foo = 'bar': ['baz', 'etc']
return HttpResponse(json.dumps(foo), content_type="application/json")

【讨论】:

除非你使用 python 2.5 或更低版本,否则不要使用 simplejson;它现在已内置到 python 标准库中。 Django 附带内置的序列化程序,它们使用 simplejson 或 json,具体取决于您的 python 版本。 @GDorn:谢谢,完全忘记了它已被添加到标准库中,我已经养成了通过 simplejson 导入它的习惯。更新了答案以反映这一点。【参考方案2】:

"Serializing Django objects"

json

【讨论】:

以上是关于使用 Django 提供 JSON 数据的正确/规范方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django / Python 为 Typeahead / Bloodhound 提供远程 JSON 数据

使用休息控制台 django 从发布请求中没有得到正确的 json [重复]

无法在 django 中找出正确的 json 查询集

如何将 django 变量正确转换为模板中的 json

将Json文件用作站点信息和设置(Django)是不是正确? [关闭]

使用 django 测试客户端发送 JSON