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

时间:2013-07-27 16:57:39

标签: django json django-templates

我正在使用django-jsonify在javascript中将django变量转换为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 个答案:

答案 0 :(得分:3)

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源中看到的那样,该部分不是很多代码。 / p>