2014-06-24 65 views
0

我在Django中完成了很多項目,而且我已經習慣了靜態文件的正常使用方式。但是,這次我有不同的場景,模板文件夾中有子文件夾(例如,模板文件夾中有文件夾page1 /,page2 /等)。這些文件夾中的每一個都包含模板文件「index.html」,然後包含靜態文件(css,js和圖像文件夾)。在Django中「有條件地」服務靜態文件

我的問題是,我怎樣才能得到每個模板與他們相應的靜態文件。

任何幫助將不勝感激。

+0

但是你爲什麼要將靜態文件放在模板中?這些是完全不同的東西,並以完全不同的方式服務。 –

+0

該應用程序的模式與應用程序分離,甚至在單獨的倉庫中維護......所有保持不變的數據都是傳遞給模板的數據。我也不想有這樣的組織......相信我! – Wedava

回答

0

您應該可以像其他任何模板一樣包含靜態文件。儘管如此,這不是使用靜態資產的理想方法,而且對於django來說非常不正常。

一種方法是在您的基本html文件中分別爲額外的CSS和額外的js在body的頭部和底部設置一個塊。從那裏,你可以在你的index.html中調用該塊幷包含你的靜態文件。

例如,在第1頁/ index.html的

{% block extra_css %} 
<style> 
    {% include 'page1/mycss.css' %} 
</style> 
{% endblock extra_css %} 

再說,我絕不會親自做。使用靜態文件並引用它們是要走的路。