如何将 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的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 js 或 html 的情况下摆脱 django 模板变量中的空间和 amp
Django - 如何将 javascript 变量从另一个文件加载到模板