2016-10-13 29 views
1

我已經在下面的方式被退回我的Django視圖具有可變數據1使用JSON.parse -無法在我的Django模板

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網頁上顯示任何內容。代碼中有什麼錯誤?

+0

你看到在瀏覽器的控制檯中的任何錯誤當你打開該頁面? – JRodDynamite

+0

刪除解析並嘗試'document.write(「{{data1}}」)'; – itzMEonTV

回答

1

嘗試輸出它作爲一個字符串:

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

如果沒有產生結果,我建議只在屏幕上打印{{ data1 }},看到底是什麼被Django的返回。

+1

或'console.log(data1)'可能有助於更多的調試。有沒有控制檯錯誤? –

+0

對不起,我...添加了一個後來編輯的代碼 –

+0

嘗試了

1

除了酒仙的答案,其他問題是:

data1 = json.loads(str1) 

這會將JSON字符串回一個Python數據結構。只需發送str1自己的模板,並將其命名爲a因爲這是你在模板中使用什麼:

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

試試這個人刪除Parse

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