【发布时间】:2014-01-12 07:47:46
【问题描述】:
我想在数据库中存储一些模板用于自定义渲染。我用来自数据库的字符串创建了一个Template 对象,然后我使用render 方法。到目前为止一切顺利。
现在我希望能够使用 extension 机制从另一个带有{% extends %} 标签的模板加载模板,这样即使是基本模板也可以从数据库加载。我意识到扩展机制起作用并使用设置中给出的全局配置。所以我可以从我的模板加载器中扩展一个文件。我还可以添加我的自定义加载器来查找数据库中的数据源。但是,我希望我的 TemplateLoader 知道第一个模板的来源是什么数据库对象,并根据它查找基本文件。
我希望模板对象中有一个挂钩来指定自定义 TemplateLoaders 而不是全局的。我查看了文档和源文件,但没有找到这样的钩子。
有什么提示吗?
** 澄清 ** 由于我没有得到答案,我试图澄清这个问题。假设我有一个模板来呈现我的数据库的某种对象。此模板使用 {% extends "base.html" %} 来加载带有站点基本布局的骨架文件。现在假设对于其中一些对象(例如基于对象中的属性),我想修改基本文件(而不是模板!)。我如何实现这一目标?
【问题讨论】:
-
也许应该使用 jinja 而不是 django 模板