Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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
Django-can';无法获取highchart以显示数据_Django_Python 3.x_Highcharts - Fatal编程技术网

Django-can';无法获取highchart以显示数据

Django-can';无法获取highchart以显示数据,django,python-3.x,highcharts,Django,Python 3.x,Highcharts,我试图通过以下解决方案,借助Highchart显示图表: 但我无法显示数据: 还是新手,谢谢你们的帮助,伙计们 views.py class ChartData(object): def check_valve_data(): data = {'member_no': []} people = Member.objects.all() for unit in people: data['member_no

我试图通过以下解决方案,借助Highchart显示图表:

但我无法显示数据:

还是新手,谢谢你们的帮助,伙计们


views.py

class ChartData(object):
    def check_valve_data():
        data = {'member_no': []}

        people = Member.objects.all()

        for unit in people:
             data['member_no'].append(unit.member_no)

        return data


 def chartViewHigh(request, chartID='chart_ID', chart_type='column', chart_height=500):
     data = ChartData.check_valve_data()

     chart = {"renderTo": chartID, "type": chart_type, "height": chart_height, }
     title = {"text": 'Check Member Data'}
     xAxis = {"title": {"text": 'Member'}, "categories": data['member_no']}
     yAxis = {"title": {"text": 'Data'}}

     return render(request, 'chart/chartViewHigh.html', {'chartID': chartID, 'chart': chart,
                                                    'title': title, 'xAxis': xAxis, 'yAxis': yAxis})

chartViewHigh.html

{% extends 'base.html' %}

{% load staticfiles i18n %}

{% block head %}
  <link href="{% static 'css/chart.css' %}" rel="stylesheet">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script src="https://code.highcharts.com/highcharts.js"></script>
      <script src="https://code.highcharts.com/modules/exporting.js"></script>

 {% endblock head %}

 {% block main %}

<h1 align="center">Analysis</h1>

{% block content %}
   <div id={{ chartID|safe }} class="chart" style="height:100px; width:100%"></div>
{% endblock %}


{% block extrajs %}
<script>
   var chart_id = {{ chartID|safe }};
   var chart = {{ chart|safe }};
   var title = {{ title|safe }};
   var xAxis = {{ xAxis|safe }};
   var yAxis = {{ yAxis|safe }};
</script>


<script>
$(document).ready(function() {
   $(chart_id).highcharts({
       chart: chart,
       title: title,
       xAxis: xAxis,
       yAxis: yAxis,
   });
});
</script>
{% endblock %}

{% endblock main %}
几个问题:

您需要在图表ID模板变量周围加引号,使其成为HTML属性:

<div id="{{ chartID|safe }}" ...
此外,数据似乎需要一个
系列
键来渲染(我没有太多使用highcharts,但请参见此处-添加此项后,您的图表将进行渲染):

另外,
ChartData
类不属于views.py文件-只有HTTP请求/响应属于该文件。如果你还没有对“Django方式”有所了解,我建议你学习Django官方教程。例如,您的
ChartData
方法生成一个成员号列表,但您可以使用一行代码来实现这一点:)

<div id="{{ chartID|safe }}" ...
$("#{{ chartID|safe }}")
Member.objects.values_list('member_no', flat=True)