Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将Django模板变量发送到Morris.Line数据变量?_Javascript_Html_Django_Django Templates - Fatal编程技术网

Javascript 如何将Django模板变量发送到Morris.Line数据变量?

Javascript 如何将Django模板变量发送到Morris.Line数据变量?,javascript,html,django,django-templates,Javascript,Html,Django,Django Templates,我正试图用莫里斯·莱恩画一张图表。我必须画几个,所以我试图用for循环动态地制作一个图表 Template.html-正文 我试过了,我的观点没有错误。以防我加上它 我得到未捕获类型错误:无法读取未定义的属性“匹配” “new Morris.Line”中出现错误。如何解决此问题?您必须返回json obj,而不是字符串。您可以尝试下面的代码行,并将数据\u列表作为数据提供给图表 myVar = document.getElementById("myVar").value; v

我正试图用莫里斯·莱恩画一张图表。我必须画几个,所以我试图用for循环动态地制作一个图表

Template.html-正文

我试过了,我的观点没有错误。以防我加上它

我得到
未捕获类型错误:无法读取未定义的属性“匹配”

“new Morris.Line”中出现错误。如何解决此问题?

您必须返回json obj,而不是字符串。您可以尝试下面的代码行,并将
数据\u列表
作为数据提供给图表

myVar = document.getElementById("myVar").value;
var data_list = eval(myVar);
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var myVar = document.getElementById("myVar").value;
        new Morris.Line({
            // ID of the element in which to draw the chart.
            element: 'myfirstchart',
            // Chart data records -- each entry in this array corresponds to a point on
            // the chart.
            data: myVar,
            // The name of the data record attribute that contains x-values.
            xkey: 'day',
            // A list of names of data record attributes that contain y-values.
            ykeys: ['value'],
            // Labels for the ykeys -- will be displayed when you hover over the
            // chart.
            labels: ['Value']
        })
    });
</script>
def data_chart(request):
   markets = Markets.objects.all().filter(~Q(spider=5))
   cutoff = datetime.date.today() - datetime.timedelta(days=7)
   datas = []
   for market in markets:
      raw_data = (
         Products.objects.filter(created_dates__gte=cutoff)
         .values_list("created_dates__date")
         .filter(market=market.id)
         .annotate(count=Count("id"))
         .values_list("created_dates__date", "count")
      )

      data = [{"day": str(day), "value": value} for (day, value) in raw_data]

      market_data = {"id":market.id,"data":data}
      datas.append(market_data)

   return render(request, "chartpage.html", {"datas": datas})
myVar = document.getElementById("myVar").value;
var data_list = eval(myVar);