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

Unable to use JSON.parse in my django template

本文关键字:django 我的 JSON      更新时间:2023-09-26

我在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网页上显示任何内容。代码有什么问题吗?

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

data1 = json.loads(str1)

将JSON字符串转换回Python数据结构。只需将str1本身发送到模板,并将其命名为a,因为这是您在模板中使用的名称:

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

尝试将其作为字符串输出:

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

如果这没有产生结果,我建议只是在屏幕上打印{{ data1 }},看看Django到底返回了什么。

尝试删除Parse

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