javascript - Highcharts 导入在 Django 中正确加载 - Python

标签 javascript jquery python django highcharts

我的 Django 项目中有以下 index.html 模板:

 {% load static %}
   {% load staticfiles %}
   <html>
   <head>
   <script type="text/javascript" src="{% static 'js/highcharts.js' %}"></script>        <script type="text/javascript" src="{% static 'js/exporting.js' %}"></script>
   <script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script>
   <script type='text/javascript'>
    $(function () {
        $('#container').highcharts({
            chart: {
                zoomType: 'xy'
            },
            title: {
                text: 'Average Monthly Weather Data for Tokyo'
            },
            subtitle: {
                text: 'Source: WorldClimate.com'
            },
            xAxis: [{
                categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            }],
            yAxis: [{ // Primary yAxis
                labels: {
                    formatter: function() {
                        return this.value +'°C';
                    },
                    style: {
                        color: '#89A54E'
                    }
                },
                title: {
                    text: 'Temperature',
                    style: {
                        color: '#89A54E'
                    }
                },
                opposite: true

            }, { // Secondary yAxis
                gridLineWidth: 0,
                title: {
                    text: 'Rainfall',
                    style: {
                        color: '#4572A7'
                    }
                },
                labels: {
                    formatter: function() {
                        return this.value +' mm';
                    },
                    style: {
                        color: '#4572A7'
                    }
                }

            }, { // Tertiary yAxis
                gridLineWidth: 0,
                title: {
                    text: 'Sea-Level Pressure',
                    style: {
                        color: '#AA4643'
                    }
                },
                labels: {
                    formatter: function() {
                        return this.value +' mb';
                    },
                    style: {
                        color: '#AA4643'
                    }
                },
                opposite: true
            }],
            tooltip: {
                shared: true
            },
            legend: {
                layout: 'vertical',
                align: 'left',
                x: 120,
                verticalAlign: 'top',
                y: 80,
                floating: true,
                backgroundColor: '#FFFFFF'
            },
            series: [{
                name: 'Rainfall',
                color: '#4572A7',
                type: 'column',
                yAxis: 1,
                data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
                tooltip: {
                    valueSuffix: ' mm'
                }

            }, {
                name: 'Sea-Level Pressure',
                type: 'spline',
                color: '#AA4643',
                yAxis: 2,
                data: [1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7],
                marker: {
                    enabled: false
                },
                dashStyle: 'shortdot',
                tooltip: {
                    valueSuffix: ' mb'
                }

            }, {
                name: 'Temperature',
                color: '#89A54E',
                type: 'spline',
                data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
                tooltip: {
                    valueSuffix: ' °C'
                }
            }]
        });
    });
 </script>
 </head>
 <body>
   <div id='container' style='min-width: 400px; height: 400px; margin: 0 auto'></div>
 </body>
 </html>

url 链接正确:它们指向正确的位置,并且 .js 文件正在正确加载。我几乎想重现 this jfiddle 在我的 Django 模板中。但是,当我加载页面时,我得到:

TypeError: $(...).highcharts is not a function
valueSuffix: ' °C'

来自 firebug ...我找不到原因...我尝试使用 url 并使用 加载 .js 文件>Django 静态文件...我认为这部分没问题,但为什么它给我这个错误?

最佳答案

在 jquery 之后的页面中包含 highcharts 脚本。

JSFiddle 会自动执行此操作,这就是您无法重现它的原因。

关于javascript - Highcharts 导入在 Django 中正确加载 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20903361/

相关文章:

jquery - YouTube视频结束时淡出

python - 使用嵌套 for 循环在每个坐标处评估函数 - python

python - 如何将 theano.tensor 转换为 numpy.array?

python - 有没有办法解决 selenium 浏览器中的 cookie 和隐私弹出窗口?

javascript - 为什么 chrome 不为嵌入式 twitter 时间轴呈现 flexbox 定位?

javascript - 无法让 "If paused"在 vi​​deojs 中工作

javascript - 客户端文本文件验证和上传

javascript - 如何使用 jquery 删除字段?

javascript - 在 Firefox 中禁用密码自动完成?

javascript - 主动应用于一个元素