将Django模型数据转换为Javascript中可用的变量
我是编程新手,也是如此。我有一个关于使用Django/Python开发的问题。 我试图将django变量用于javascript脚本 我的模型是这样的:将Django模型数据转换为Javascript中可用的变量,javascript,python,django,Javascript,Python,Django,我是编程新手,也是如此。我有一个关于使用Django/Python开发的问题。 我试图将django变量用于javascript脚本 我的模型是这样的: class Business(models.Model): business_name = models.CharField(max_length=200) lat = models.FloatField(default=0) lng = models.FloatField(default=0) 我正在创建一个Djan
class Business(models.Model):
business_name = models.CharField(max_length=200)
lat = models.FloatField(default=0)
lng = models.FloatField(default=0)
我正在创建一个Django应用程序,将业务数据发送到模板
def index(request):
business_list = Business.objects.all()
context = {'business_list': business_list}
return render(request, 'kitemap/index.html', context)
我想将django对象列表转换为javascript中可用的对象列表,但我无法做到这一点……我尝试了下面的代码,但没有成功。你能帮忙吗?谢谢
for (var i = 0; i < {{ business_list|length }}; i++) {
var school = [];
business[0] = {{ business_list.i.lat }};
business[1] = {{ business_list.i.lng }};
business[2] = {{ business_list.i.business_name }}M
businesses[i] = business;
}
for(var i=0;i<{{business_list | length}};i++){
var学派=[];
业务[0]={{business_list.i.lat};
业务[1]={{business_list.i.lng};
业务[2]={{business\u list.i.business\u name}M
业务(i)=业务;;
}
您可以将queryset序列化为json格式
from django.core import serializers
from django.http import JsonResponse
import json
business = Business.objects.all()
data = json.loads(serializers.serialize("json", business))
#return JsonResponse(json)
context = dict(data=data)
return render(request, 'kitemap/index.html', context)
然后可以进行迭代,因为查询集被转换为dict列表
你可能需要这样做
var school = [];
for (var i=0;i<data.length;i++) {
var business = {};
business['business_name'] = json[i].fields.business_name;
business['lat'] = data[i].fields.lat;
business['lng'] = data[i].fields.lng;
school.push(business);
}
var-school=[];
对于(var i=0;i请尝试在javascript中使用safe
template标记。您应该将其应用于来自HttpResponse的上下文变量。非常感谢。我将尝试。是否“返回JsonResponse(json)”将数据传递到我的index.html模板?JsonResponse只返回json格式的数据,这是我的错误,忽略它。Fazil,我有json字符串,但无法使用,尝试使用var json_parsed=json.parse(json)解析它但显然不起作用。对此有什么想法吗?许多thankslocal变量“json”在第json=json.loads(serializers.serialize('json',business_ulist')行赋值之前引用。Thanksman。在我的模板中,我无法使用该数据。不过,如果只插入{data}在我的模板中,我看到了整个数据集。如果我试图以这种方式访问数据[0].fields.lat,我什么也看不到。很抱歉打扰您,但我快疯了,谢谢Hanks Kostas。但是在我的模板中,我无法使用这些数据。正如我对@fazil的评论,如果我只插入{data}在我的模板中,我看到了整个数据集。如果我尝试以这种方式访问数据data[0]。fields.lat,我什么也看不到。。。