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