无法在我的django模板中使用JSON.parse

时间:2016-10-13 10:58:14

标签: javascript python json django

我的Django视图中有一个变量data1,它已按以下方式返回 -

def dashboard(request):
   df1 = pd.read_excel("file.xlsx")
   str1= df1.to_json(orient = 'records')
   data1 = json.loads(str1)
   return render(request, 'dashboard/new 1.html',{'data1' : data1})

然后使用javascript

在模板中调用变量
 <script type = text/javascript>    
   var ob2 = JSON.parse( {{ data1 }} );
   document.write(ob2);
 </script>

这不会在创建的HTML网页上显示任何内容。代码有什么问题吗?

3 个答案:

答案 0 :(得分:1)

尝试将其输出为字符串:

<script type = text/javascript>    
  var ob2 = JSON.parse( "{{ data1 }}" );
  document.write(ob2);
</script>

如果没有产生结果,我建议只在屏幕上打印{{ data1 }}并确切地看到Django返回的内容。

答案 1 :(得分:1)

除了Brewmaster的答案,其他问题是:

data1 = json.loads(str1)

将JSON字符串转换回Python数据结构。只需将str1本身发送到模板,然后将其称为a,就像您在模板中使用的那样:

return render(request, 'dashboard/new 1.html',{'a' : str1})

答案 2 :(得分:0)

通过移除Parse

来尝试此操作
 <script type = text/javascript>    
   document.write("{{ data1 }}");
 </script>