如何使用javascript在模板中显示django queryset值



我试图从django queryset使用显示名称列表,这是我的代码

def vfunc(request):
context={}
bats = Bat.objects.all().order_by('-id')
context['bats'] = bats
[each.batname for each in bats] # Gives all the batnames. 
return render(request, 'bat.html', context)

我想在模板

上显示batnames
$(function() {
//This works when I hardcode the values
var batData =  [{
"bat":"batname1", //hardcoded & displayed in 1st row
},  {
"bat":"batname2", //hardcoded & displayed in 2nd row
}];
$("#CleanDatasNames").dxDataGrid({
dataSource: batData,
...
...
}

我尝试了var batData = [{"bat":"{{bats|join:', '}}"]但它显示obj1,obj2在同一行,我也试图循环但失败了,任何帮助将不胜感激。

这样你就可以使用js:

$(function() {
//This works when I hardcode the values
var batData =  [
{% for bat in bats %}  
{
"bat":"{{bat}}", 
}
{% if forloop.counter != bats|length %} // dynamically checking for last element
, 
{% endif %}
{% endfor %}
];
$("#CleanDatasNames").dxDataGrid({
dataSource: batData,
...
...
}

最新更新