我想在数据库中存储一些模板以进行自定义渲染。我使用来自数据库的字符串创建一个Template
对象,然后使用render
方法。到目前为止一切都很好。
现在我希望能够使用扩展机制从另一个带有{% extends %}
标记的模板加载模板,以便甚至可以从数据库加载基本模板。我意识到扩展机制可以工作并使用设置中给出的全局配置。所以我可以从模板加载器的文件扩展。我还可以添加自定义加载器来查找数据库中的数据源。但是,我希望我的TemplateLoader知道哪个数据库对象是第一个模板的源,并根据它查找基本文件。
我希望在Template对象中有一个钩子来指定自定义的TemplateLoaders而不是全局的TemplateLoaders。我查看了文档和源文件,但未能找到这样的钩子。
任何提示?
**澄清** 自从我得到答案后,我试着澄清这个问题。假设我有一个模板来渲染我的数据库的某种对象。此模板使用{%extends“base.html”%}来加载具有站点基本布局的框架文件。现在假设对于其中一些对象(例如基于对象中的属性),我想修改基本文件(而不是模板!)。我该如何实现这一目标?