大家好,情况如下。有一个基本模板,其中定义了一个标头,在此标头中有一个 *notifications 栏通知字段。我的任务的本质是基础模板不是通过继承它的模板,而是直接从数据库接收数据,也就是预渲染的特性。我熟悉 {{ super }} 的工作原理,但在这种情况下,每次渲染扩展基本模板的任何页面时,我都需要传递状态,我认为这违反了概念
不要重复自己
对此,我有一个问题:如何为基本模板声明一次数据,并在从另一个模板渲染时调用它们?例如,我看到了这样一个实现。创建一个从数据库获取新数据并将其绑定到基本模板的函数。每当呈现可扩展模板时,此函数都会更新基本模板的状态,这也是我需要该页面的原因。如果我误解了什么,或者做了什么,那么请告诉我,我很乐意使用你的版本。我只是不明白如何以正确的方式实现它!谢谢你。
也许它适合你
context processor。例子:之后,您可以访问所有模板内部,而无需在此处显式传递上下文。
同样,您可以编写一个可以在带有参数的模板内调用的函数。
但是,一般来说,我认为将父模板的上下文显式传递给子模板没有问题)