使对象存在于所有模板中

时间:2014-10-14 10:26:55

标签: python django templates variables

我有一个django,我写了一些观点。我知道如何将我的变量传递给模板,但我也有一些外部模块有自己的视图,我不会修改。
请帮助我理解如何在所有模板中找到我的对象“Menu.objects.all()”?

所以例如我有django-registration,我希望当有人访问我的应用程序网址时,我的所有菜单项都显示在顶部。我的意思是它将是注册应用程序URL,它返回templateresponse(这里我没有我的变量)。

2 个答案:

答案 0 :(得分:1)

您可以将变量添加到上下文

答案 1 :(得分:0)

最干净的方法是使用模板上下文处理器,它是一个钩子,允许您在呈现模板之前向您的上下文添加内容。

http://www.djangobook.com/en/2.0/chapter09.html

https://docs.djangoproject.com/en/dev/ref/templates/api/#writing-your-own-context-processors

以下是django核心中使用的模板上下文处理器的示例: https://github.com/django/django/blob/master/django/template/context_processors.py