这可能是一个愚蠢的问题,但是我对JavaScript还是陌生的。
但是django返回由包含标题和哈希图的字符串组成
但是,更重要的是,在何处将其分解为可用数据的逻辑在哪里发生? (我想要的就是地图)
在views.py中(应该修改我返回JSON对象的整个方法)
在模板中(我的方法还可以,但是我应该编写一个自定义过滤器)
在我的html中(我应该在doc加载时在javascript中删除其标头的结果)
谢谢
编辑:
jQuery部分
var chart;
$(document).ready(function() {
chart = new Mycharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'bar'
},
settings: {
data: [],
},
...
风景
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}}得到的结果:
内容类型:text / html; charset = utf-8 [{“ Stuff”:50,“ MoreStuff”:3}]
最佳答案
为什么您的视图与(我想是指)应用逻辑分开?好像您的json_response
函数是一个视图,因为它正在返回HttpResponse。您需要直接从json_response
返回值,或者在该函数中忽略HttpResponse
调用。