我有一個通用模板,用於通過include
標籤將html(即菜單欄menubar.html
)包含到其他應用程序模板中。它具有一些定義的css和js功能,分別存儲在menubar.css
| menubar.js
文件。Django'Include'template with css/js
是似乎更方便地包含鏈接到這些文件的menubar.html
文件中,如下圖所示:
//At the Start
<link rel="stylesheet" href="{% static '<appname>/css/menubar.css' %}" />
//.... other menubar HTML
//At the End
<script src="{% static '<app_name>/js/menubar.js' %}"></script>
我很擔心,這是不好的做法,因爲模板將與被加載css不位於HEAD
和js不位於BODY
的末尾。 這些被描述爲standard HTML practises。
清晰的選擇是鏈接CSS或JS在每一個模板,我包括子模板,但是這似乎有些單調乏味。
我知道還有擴展模板的可能性,但是我相信css/js的用法會出現同樣的問題。
什麼是最好的?
好的建議!這與[模板繼承](https://docs.djangoproject.com/en/1.11/ref/templates/language/#template-inheritance)有何不同?我剛剛讀過,你可以使用'{%block%}'標籤並調用'{{block.super}}'來獲取原始內容。難道不會在本地執行相同的操作(沒有額外的軟件包)? –
對不起,我看到了區別 - django不提供[包含內的處理塊]的原生支持(https://docs.djangoproject.com/en/dev/ref/templates/builtins/#include)。我發現django-sekizai專門處理這個問題。好一個! –