Javascript Django-将int和None值传递给chart.js

Javascript Django-将int和None值传递给chart.js,javascript,python,django,chart.js,Javascript,Python,Django,Chart.js,我不太擅长javascript,我总是很难理解和使用javascript。我正在处理一个Django项目,在这个项目中,我需要将一个列表传递给Chart.js,以便根据特定的模型显示一个图形 我遇到的问题是试图从Django向javascript传递一个列表,以便显示数据是否可用 假设我有一个来自模型属性的python列表: [10,20,None,30,40,None,50] 我需要Chart.js来显示数据,这取决于它们是否为每个轴点的值,如果它们为无,则不显示任何内容。当我尝试使用jso

我不太擅长javascript,我总是很难理解和使用javascript。我正在处理一个Django项目,在这个项目中,我需要将一个列表传递给Chart.js,以便根据特定的模型显示一个图形

我遇到的问题是试图从Django向javascript传递一个列表,以便显示数据是否可用

假设我有一个来自模型属性的python列表:

[10,20,None,30,40,None,50]
我需要Chart.js来显示数据,这取决于它们是否为每个轴点的值,如果它们为无,则不显示任何内容。当我尝试使用
json.dump()
传递列表,然后在我的模板中使用
{{my_list | safe}}
时,它显示如下:

['10','20','None','30','40','None','50']
当它应该是int或None/null值时,所有内容都显示为str。如果我需要chart.js具有后端中的值,该怎么办

希望我的问题足够清楚,如果不让我知道,我会努力更好地解释

提前感谢您的宝贵帮助

Chart.js代码

        var ctx = document.getElementById('financial-chart');
        var myChart = new Chart(ctx, {
            type: 'line',
            data: {
                labels: {{ tab_year|safe }}",
                datasets:
                [{
                    label: 'Sales',
                    data: {{ tab_sales|safe }},
                    backgroundColor: "#4C81B6",
                    borderColor: "#4C81B6",
                    borderWidth: 3,
                    tension: 0.3,
                    fill: false
                },


                {
                    label: 'Profit',
                    data: {{ tab_profit|safe }},
                    backgroundColor: "#DF5558",
                    borderColor: "#DF5558",
                    borderWidth: 3,
                    tension: 0.3,
                    fill: false

                }]
            },
            options: {
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });
已解决


正如elyas提到的,额外的引号是导致问题的原因。None现在被解释为null,因为它们应该是空的。

您能发布Chart.js模板代码吗?Chart.js不应该对包含字符串的JSON而不是intsSorry有任何问题,我只是添加了Chart.js代码部分!我无法复制您在数据方面遇到的任何问题。我设法用字符串列表和整数列表生成了相同的图表。但是我确实注意到这一行的标签上有一个拼写错误:{tab|year | safe}},-末尾有一个无关的引号
,这使JSON无效,并阻止了图表的加载。您可以尝试var a=JSON.parse({tab year | safe}');。终于看到引号里的问题了!我不知道我以前没见过它。。。谢谢大家的宝贵帮助!