Javascript模块不可用,没有从Django模板继承的模板

Javascript modules not available templates not inherited from base Django tempate

本文关键字:Django 继承 模块 Javascript      更新时间:2023-09-26

我有这个问题,希望你有一些想法如何解决它。在一个不是基础模板的"子"模板的Django模板中,我想使用基础模板中的javascript模块,即Jquery。是否有一种方法可以实现这一点,而无需再次加载我需要的所有javascript库?

让说base.html

{% block js %}  
<script src="some/path/to/jquery.js"></script>
{% endblock $}

some_component_base_template.html

// Not inherited from base.html
{% block somejsblock %}
<script>
$(document).ready(function(
   //some code I need
))
</script>
{% endblock %}

这个html块可以被用户通过插槽机制插入到模板中的任何地方,这就是为什么它不会从base.html继承,如果我创建另一个头,每次加载这个html块时,javascript也会被加载。

模板应该继承base。如果base中有一些东西你不想在其他模板中出现,你应该使用一个中间父类,它本身继承自base,有些模板可以使用,有些模板不能。

如果您不是从基类继承,您应该创建一个头并手动添加引用。