Django扩展模板没有在

时间:2018-01-07 16:20:26

标签: javascript django

我在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之前呈现!

我该如何解决?我以前做过,我不知道会出现什么问题。

谢谢!

1 个答案:

答案 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 %}