我有這個問題希望你有一些想法如何解決它。 在一個不是基模板的「子模板」的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模板的用途:您想要的部分_每個和每個模板。 –