如何在Django中的所有页面上使用查看功能?

如何在Django中的所有页面上使用查看功能?,django,view,django-views,Django,View,Django Views,我正在Django中构建一个应用程序,其中我有一个布局,其中有导航栏,我将此布局扩展到每个页面 为了让导航栏接收来自视图的适当变量,我必须在每个视图上编写相同的代码。必须有一种方法来编写这段代码一次,并直接影响布局,所以我不需要多次键入,但我还没有找到答案 如何一次性编写函数?我猜是Django中的一个全局变量 我希望我能解释清楚,好的,提前谢谢 在这种情况下,这里很方便。您可以编写函数并在settings.py文件中向模板引擎注册它。这样,您可以编写一次代码,它将直接影响布局。首先在应用程序中

我正在Django中构建一个应用程序,其中我有一个布局,其中有导航栏,我将此布局扩展到每个页面

为了让导航栏接收来自视图的适当变量,我必须在每个视图上编写相同的代码。必须有一种方法来编写这段代码一次,并直接影响布局,所以我不需要多次键入,但我还没有找到答案

如何一次性编写函数?我猜是Django中的一个全局变量


我希望我能解释清楚,好的,提前谢谢

在这种情况下,这里很方便。您可以编写函数并在settings.py文件中向模板引擎注册它。这样,您可以编写一次代码,它将直接影响布局。

首先在应用程序中创建context\u processors.py somewher。 然后编写所需的函数,如:

from .models imoprt Somemodel

def alltimefunc(request):
     something = Somemodel.objects.all()
     return something
最后将其添加到settings.py中

TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            'your_app_name.context_processors.alltimefunc',  #here
        ],
    },
   },
  ]