2010-11-19 41 views
3

對於我正在開發的Django項目,我需要能夠允許用戶指定TEMPLATE_DIRS中使用的路徑。這是爲了實現可選的「主題」。例如:在運行時用Django項目動態添加到TEMPLATE_DIRS

TEMPLATE_DIRS = (
    os.path.join(WEBSITE_ROOT, 'templates', THEME_NAME).replace('\\', '/'), 
    os.path.join(WEBSITE_ROOT, 'templates', 'default').replace('\\', '/'), 
) 

但THEME_NAME變量應該來自數據庫通過站點管理。

任何想法?

回答

1

我做了這樣的事情,請看看這裏https://github.com/ASKBOT/askbot-devel/blob/master/askbot/skins/loaders.py

除了模板加載器,你可能需要的手段來解決特定於主題的媒體。它可以是一個模板標籤或一個過濾器,它需要一些基本URL並添加主題前綴或類似的東西,也可以自動跟蹤媒體版本。這樣,當你刷新.js或其他文件時,客戶端將不得不加載最新版本。