2014-01-12 53 views
0

我想在數據庫中存儲一些模板以進行自定義渲染。我用來自數據庫的字符串創建一個Template對象,然後使用render方法。到現在爲止還挺好。現在如何判斷模板從哪裏加載文件?

我想能夠使用擴展機制,以至於連基本模板可以從數據庫加載到從另一個與{% extends %}標籤加載模板。我意識到擴展機制起作用並使用設置中給出的全局配置。所以我可以從我的模板加載器中的文件擴展。我還可以添加我的自定義加載程序以在數據庫中查找數據源。不過,我希望我的TemplateLoader知道哪個數據庫對象是第一個模板的來源,並根據它查找基礎文件。

我希望鉤入Template對象來指定自定義的TemplateLoaders而不是全局的TemplateLoaders。我查看了文檔和源文件,但未能找到這樣的鉤子。

任何提示?

** CLARIFICATION ** 由於我得到了答案,我試圖澄清這個問題。假設我有一個模板來呈現我的數據庫的某種對象。該模板使用{%extends「base.html」%}將網站的基本佈局加載到框架文件中。現在假設對於其中一些對象(例如基於對象中的屬性),我想修改基本文件(而不是模板!)。我如何實現這一目標?

+0

也許應該使用jinja而不是django模板 –

回答

0

您可以輕鬆地添加功能,以從數據庫加載模板:http://django-dbtemplates.readthedocs.org/en/latest/

+0

我知道如何從數據庫中加載模板。但是,例如,當我請求「base.html」時,我被迫總是給出相同的模板。我想給不同的文件,這取決於正在處理的文件。 –

相關問題