我在Django 1.11中有一个base.html,其中包含所有脚本引用。
然后,我有另一个page.html通过{%extends base.html%}和{%block content%} / {%endblock content%}标记来扩展base.html。
好。在base.html中,我引用了Chartjs.js插件。在page.html中,如果我尝试调用Chart()函数或只是$ jquery,我得到“函数未定义”。如果我打开控制台调试器并尝试调用$或只是Chart(),它就可以工作。所以我认为加载时间有问题。 page.html在下载或请求js之前呈现!
我该如何解决?我以前做过,我不知道会出现什么问题。
谢谢!
答案 0 :(得分:1)
没有您的代码显示,很难说。根据你所写的内容,也许你忘了放一个块和block.super来获取父(base.html' s)Chartjs参考。
这应该位于您的{%endblock content%}标记后面的page.html中。请参阅下面的示例(使用DataTables作为示例,因为您的代码未显示):
</div>
{% endblock content %}
{% block javascript %}
{{ block.super }}
<script type="application/javascript">
$(document).ready(function () {
$('#table').DataTable({
responsive: true,
});
});
</script>
{% endblock javascript %}
Base.html将js部分包含在
中{% block javascript %} …. {% endblock javascript %}