如何告诉模板从哪里加载文件?

时间:2014-01-12 07:47:46

标签: django django-templates

我想在数据库中存储一些模板以进行自定义渲染。我使用来自数据库的字符串创建一个Template对象,然后使用render方法。到目前为止一切都很好。

现在我希望能够使用扩展机制从另一个带有{% extends %}标记的模板加载模板,以便甚至可以从数据库加载基本模板。我意识到扩展机制可以工作并使用设置中给出的全局配置。所以我可以从模板加载器的文件扩展。我还可以添加自定义加载器来查找数据库中的数据源。但是,我希望我的TemplateLoader知道哪个数据库对象是第一个模板的源,并根据它查找基本文件。

我希望在Template对象中有一个钩子来指定自定义的TemplateLoaders而不是全局的TemplateLoaders。我查看了文档和源文件,但未能找到这样的钩子。

任何提示?

**澄清** 自从我得到答案后,我试着澄清这个问题。假设我有一个模板来渲染我的数据库的某种对象。此模板使用{%extends“base.html”%}来加载具有站点基本布局的框架文件。现在假设对于其中一些对象(例如基于对象中的属性),我想修改基本文件(而不是模板!)。我该如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

您可以轻松添加功能,以便从以下数据库加载模板:http://django-dbtemplates.readthedocs.org/en/latest/