我正在尝试为个人项目学习Django和Javascript / jQuery。我想用Flot绘制一些数据,我试图得到一个测试图,但我似乎做错了。
在我的base.html
中,我有以下内容在我的head
元素中包含jQuery和Flot。
<script src="/site_media/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="/site_media/jquery.flot.min.js" type="text/javascript"></script>
在我的inherit.html
:
{% extends 'base.html' %}
<script type="text/javascript">
alert('Im running!');
$.plot($("#flot-test"), [ [[0, 0], [1, 1]] ], { yaxis: {max: 1 } });
</script>
{% block title %}Detail View for {{ sched_name }}{% endblock %}
{% block content %}
<div id="status_bar">
<a href="/view_schedules/">{{ user.username }}'s Gradebooks</a> / <a href="/view_schedules/{{ schedule_slug }}/">{{ sched_name }}</a>
</div>
<div id="flot-test" style="width:600px;height:300px">
</div>
The rest concatenated
然而,当我使用Django dev渲染页面时。服务器我没有得到像我包括的警报,情节不呈现。我得到了一个空白div到我指定的尺寸。当我在网页浏览器中查看我的页面源时,它甚至没有显示我上面包含的剧情脚本。我做错了什么?
答案 0 :(得分:2)
JS在渲染目标div之前执行。您可以在内联JS之前移动div或将JS调用包装在document.ready中:
<script type="text/javascript">
$(document).ready(function(){
alert('Im running!');
$.plot($("#flot-test"), [ [[0, 0], [1, 1]] ], { yaxis: {max: 1 } });
});