我有这个问题希望你有一些想法如何解决它。 在一个不是基模板的“子模板”的Django模板中,我想使用基模板中的JavaScript模块,即Jquery。有没有办法实现这一点,而无需再次加载我需要的所有JavaScript库?Javascript模块不可用模板不继承自基础Django tempate
比方说 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的此块可以在任何地方插入经由插槽机制,用户模板,这就是为什么它不” t从base.html继承,如果我创建另一个头,每当这个HTML块被加载时,javascripts也将被加载。
这就是我想要避免的,因为这是一段将要在网站周围重复的html,并且在这种情况下,我将使用google api,只要它的加载次数超过一次,我得到一个JavaScript错误或警告。全球范围内没有JavaScript模块吗? –
在这种情况下,最好的答案是Daniel Roseman的。你应该只把所有的全局资料放在你的基础上。如果你需要在应用程序中重复使用不同的内容,那么你可以做的最好的事情是创建一个“中间”父项,它可以从基础扩展并添加这些新的htmls。 – acostela
“这是一段将在站点周围重复的html”:然后显然它应该是Daniel Roseman所说的基本模板的一部分 - 这就是base.html模板的用途:您想要的部分_每个和每个模板。 –