Django Chartit图表未显示。 Jquery问题?

时间:2018-04-23 20:15:19

标签: python jquery django highcharts

还有另外4-5个其他帖子我遇到同样的问题,但要么a。)解决方案不适用于我或b。)没有建议的解决方案。我希望有人可以帮我解决这个问题。使用Chartit,看起来我正在传递我的对象的数据,并且我的模板最终击中了所有必需的JavaScripts,现在我从控制台得到了这个问题:

VM49842 chartloader.js:3 Uncaught ReferenceError: $ is not defined at VM49842 chartloader.js:3  

highcharts.js:10 Uncaught Error: Highcharts error #13: www.highcharts.com/errors/13
    at Object.a.error (highcharts.js:10)
    at a.Chart.getContainer (highcharts.js:250)
    at a.Chart.firstRender (highcharts.js:265)
    at a.Chart.<anonymous> (highcharts.js:241)
    at a.fireEvent (highcharts.js:30)
    at a.Chart.init (highcharts.js:240)
    at a.Chart.getArgs (highcharts.js:239)
    at new a.Chart (highcharts.js:239)
    at Object.<anonymous> (VM49842 chartloader.js:5)
    at Function.each (jquery.1.7.2.min.js:2)

以下是参考chartloader.js第3行的行:

$(document).ready(function()

我读过它可能会干扰其他脚本,但除了管理门户网站中包含的内容之外,我的Django项目中没有其他javascript。

Settings.py在已安装的应用中有 'chartit' ,因为我也听说过这些脚本的加载速度比预期的慢,而且还安装了所有脚本在我的静态目录本地,我运行'python manage.py collectstatic'来安装/移动到正确的静态目录。

如果可能是我的模型信息,我可以在必要时分享,但如果我查看来源,它似乎正在成功传递正确的信息。

模板 - history_graph.html

{% load static %}
{% load chartit %}
{{ graph_display|load_charts:'container' }}

<script type ="text/javascript" src ="/static/js/jquery.1.7.2.min.js"></script>
<script type ="text/javascript" src="/static/js/highcharts.js"></script>

<div class='container'>{{ graph_display|load_charts:'container' }}</div>

1 个答案:

答案 0 :(得分:2)

脚本引用需要放在chartit加载变量的前面(而不是之前在其他问题中回答的highcharts脚本引用)。这是工作安排:

{% load static %}
<script type ="text/javascript" src ="/static/js/jquery.1.7.2.min.js"> </script>
<script type ="text/javascript" src="/static/js/highcharts.js"></script>
{% load chartit %}
{{ graph_display|load_charts:'container' }}

这清除了chartloader / jquery错误的错误,其中jquery在chartit之后加载。 IMO在文档中没有明确说明和/或说明。我仍然收到highcharts的错误,直到我注意到:

<div class='container'>

应改为:

<div id='container'>