还有另外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>
答案 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'>