2011-04-26 18 views
0

我最近已經在我的翼下安裝了一個新的服務器,它上面有一個有趣的django安裝。之前在媒體中混合使用的開發人員使用靜態內容上傳,而在其他模塊中則在項目的根文件級別創建了自己的目錄。我對此的第一反應是普遍的煩惱。 (我是模塊化開發的忠實粉絲。)但是,在努力「糾正」之後,它提出了一個問題。使用媒體構建網站的最佳方法是使其與基本代碼分開。 (基於意見)

即使這個問題是用django標記的,隨時根據java和asp.net發佈響應。

你如何設置你的靜態文件?你是否將所有內容都放在一個靜態目錄中,或者你花時間將每個模塊單獨鏈接起來?

我開始爲每個django應用程序開發的一個技巧是,在初始化 .py的所說的應用程序我把以下內容。

import os 
from django.conf import settings as djsettings 
TEMPLATES_DIR = (os.path.join(os.path.dirname(__file__),'./templates'),) 
djsettings.TEMPLATES_DIR += TEMPLATES_DIR 
+0

我認爲與靜態文件,它確實取決於整個網站中的應用程序的上下文,以及您正在運行的網站的種類。對於我製作的大多數基於內容的網站,大多數靜態內容都與應用程序無關,並在整個網站中使用,因此將它們與任何特定應用程序捆綁在一起毫無意義。 也取決於其他人是否將在未來使用您的應用程序。如果是這樣,你應該看看捆綁靜態內容。 – 2011-04-26 13:37:35

回答

3

我不認爲是真正需要你的絕招(再)。

如果使用django.template.loaders.app_directories.Loaderdocs) 你可以把一個模板目錄在您的應用程序目錄和Django會檢查你的應用程序特定的模板

而且使用Django 1.3開始,你可以使用staticfiles應用做與所有靜態媒體文件類似。檢查文檔staticfiles-finders

最後,感謝collectstatic管理命令,您現在可以將您的靜態媒體文件模塊化(以便於開發和分發),但您仍然可以將它們捆綁在一個集中的位置一旦需要部署和服務您的項目。

0

現在,我習慣於在每個包含其靜態文件的應用程序目錄中放置一個static文件夾。我在templates下的每個應用程序目錄中保存模板。將應用程序放在nginx或apache後面時,我別名爲static路徑。

我開始做的更多事情之一是將靜態文件(如javascript,css或圖像)放在像S3一樣的CDN後面。

相關問題