这可能是个愚蠢的问题,但我是 JavaScript 的新手。我有一个 Python 字典的 JSON 编码响应,我想用它作为数据注入(inject)我的 javascript
然而,django 返回由带有 header 和散列图的字符串组成
如何,但更重要的是,应该在哪里进行将其剥离为可用数据的逻辑? (我只想要 map )
- 在 views.py 中(应该修改我返回 JSON 对象的整个方式)
- 在模板中(我的方法没问题,但我应该写一个自定义过滤器)
- 在我的 html 中(我应该在文档加载时在 javascript 中删除它的标题结果)
谢谢
编辑:
jQuery 部分
var chart;
$(document).ready(function() {
chart = new Mycharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'bar'
},
settings: {
data: [],
},
...
View
data = assemble_dict()
testVar2 = json_response(data)
return render_to_response('home.html', { "testVar": testVar, "testVar2": testVar2 })
应用逻辑
def assemble_dict():
data = {}
objects = Balance.objects.all()
for obj in objects:
data[obj.name.name_bank] = obj.money
return data
def json_response(*args):
return HttpResponse(
simplejson.dumps(args),
)
这是我现在从 {{ testVar2 }} 得到的: 内容类型:文本/html; charset=utf-8 [{"Stuff": 50, "MoreStuff": 3}]
最佳答案
为什么您的 View 与(我猜您指的是)应用程序逻辑分开?看起来您的 json_response
函数是一个 View ,因为它返回一个 HttpResponse。您需要直接从 json_response
返回值,或者省略该函数中的 HttpResponse
调用。
关于javascript - 在 Javascript 中使用 Django JSON 响应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6001004/