不在Django中渲染的情节

时间:2012-05-26 06:11:17

标签: javascript jquery django flot

我正在尝试为个人项目学习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到我指定的尺寸。当我在网页浏览器中查看我的页面源时,它甚至没有显示我上面包含的剧情脚本。我做错了什么?

1 个答案:

答案 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 } });
});