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

Posted

技术标签:

【中文标题】如何将 django 变量正确转换为模板中的 json【英文标题】:How to convert django variable into json in template properly 【发布时间】:2013-07-27 20:12:59 【问题描述】:

我正在使用django-jsonify将django变量转换为javascript中的json,并返回这样的列表

["pk": 4, "model": "api.post", "fields": "summary": "Testing", "title": "My Test", "pk": 5, "model": "api.post", "fields": "summary": "testing again", "title": "Another test"]

但是想要的列表是

["pk": 4,"summary": "Testing", "title": "My Test", "pk": 5,"summary": "testing again", "title": "Another test"]

【问题讨论】:

【参考方案1】:

django-jsonify 只是 Django 内置 JSON 模型序列化器的一个薄包装器。见:

https://bitbucket.org/marltu/django-jsonify/src/586ff1bbdd9b1c20e450015a093c146e58d40ddb/jsonify/templatetags/jsonify.py?at=default

如果您想要不同的格式,则必须定义自己的序列化程序。为此,将 stdlib 的 json.JSONEncoder 子类化,并覆盖 .default() 方法:

http://docs.python.org/2/library/json.html#json.JSONEncoder.default

您还需要连接您自己的模板标签(或通过视图传递 JSON 等) - 但是,正如您在 django-jsonify 源代码中看到的那样,这部分代码并不多。

【讨论】:

我决定使用骨干网和美味派来获取数据

以上是关于如何将 django 变量正确转换为模板中的 json的主要内容,如果未能解决你的问题,请参考以下文章

如何将Django模板变量传递给外部JS?

如何在不使用 js 或 html 的情况下摆脱 django 模板变量中的空间和 amp

Django - 如何将 javascript 变量从另一个文件加载到模板

如何将 django 模板变量呈现为 html?

使用 Django 模板(列表和字典)将 Python 数据结构转换为 js 数据结构

如何通过变量/方法将Django模板代码注入模板?