JavaScript函数中的Python字典(HTML内部)
嘿强> 所以我有一个Python函数(Django项目),它将一个字典发送到HTML文件中的JavaScript函数中。在JavaScript脚本(…)中,我应该打印键及其值。我试过这个:JavaScript函数中的Python字典(HTML内部),javascript,python,html,web,google-visualization,Javascript,Python,Html,Web,Google Visualization,嘿 所以我有一个Python函数(Django项目),它将一个字典发送到HTML文件中的JavaScript函数中。在JavaScript脚本(…)中,我应该打印键及其值。我试过这个: <script type="text/javascript"> google.charts.load('current', {'packages':['table']}); google.charts.setOnLoadCallback(drawTable); va
<script type="text/javascript">
google.charts.load('current', {'packages':['table']});
google.charts.setOnLoadCallback(drawTable);
var test = "{{ t|escapejs }}";
const key1 = Object.keys(test)[0];
top1 = test[key1];
document.getElementById("demo").innerHTML =key1
function drawTable() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'Messages Amount');
data.addRows([
[key1, {v: top1, f:top1}],
['Alice', {v: 12500, f: '$12,500'}], // I have to make it like this, but just with my keys and values
['Bob', {v: 7000, f: '$7,000'}]
]);
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: true, width: '100%', height: '100%'});
}
</script>
load('current',{'packages':['table']});
google.charts.setOnLoadCallback(drawTable);
var test=“{t|escapejs}}”;
const key1=Object.keys(测试)[0];
top1=测试[key1];
document.getElementById(“demo”).innerHTML=key1
函数drawTable(){
var data=new google.visualization.DataTable();
data.addColumn('string','Name');
data.addColumn('number','Messages Amount');
data.addRows([
[key1,{v:top1,f:top1}],
['Alice',{v:12500,f:'$12500'}],//我必须这样做,但只需要使用我的键和值
['Bob',{v:7000,f:'7000'}]
]);
var table=新的google.visualization.table(document.getElementById('table_div');
table.draw(数据,{showRowNumber:true,宽度:'100%,高度:'100%});
}
当我在页面上打印top1时,它会从测试字典返回一个字符。我不明白为什么js认为这是一个字符串,而不是一个列表。也许我应该以某种方式转换它?使用Python中的
json
模块和JS中的json.parse
。这里有一个例子
Python:
import json
send_dict = json.dumps(python_dict)
# send to JS
JS:
现在您可以将JSDict用作JavaScript对象 它是一个字符串,因为它在引号中。
// get "send_dict" and put in variable.
var JSDict = JSON.parse(send_dict);