Django:可从所有视图访问的常规查询
关于一个一般性的问题,我有点困惑。我有一个带有类客户信息的模型和一个带有与这些客户相关的注释的类 我想在我的base.html模板中添加一个信息标签,在这里我可以看到最后创建的注释。因此,它应该在所有模板/视图中都可见Django:可从所有视图访问的常规查询,django,django-queryset,Django,Django Queryset,关于一个一般性的问题,我有点困惑。我有一个带有类客户信息的模型和一个带有与这些客户相关的注释的类 我想在我的base.html模板中添加一个信息标签,在这里我可以看到最后创建的注释。因此,它应该在所有模板/视图中都可见 lastCom = Comment.objects.order_by('-id').last() 问题是我只想定义一次查询,而不是分别为每个视图定义查询 您是否知道如何仅在一个位置定义查询,如何在每个模板中访问查询,而不是在每个视图中定义查询 选择模型管理器、列表视图等的内容。
lastCom = Comment.objects.order_by('-id').last()
问题是我只想定义一次查询,而不是分别为每个视图定义查询
您是否知道如何仅在一个位置定义查询,如何在每个模板中访问查询,而不是在每个视图中定义查询
选择模型管理器、列表视图等的内容。您可以编写自定义:
在“设置”模块中,您应将其添加到模板设置:
这将向每个模板添加lastComm变量。您可以编写自定义:
在“设置”模块中,您应将其添加到模板设置:
这将向每个模板添加lastComm变量。每个客户一次或整个项目一次?好的观点-应该已经澄清了这一点。整个项目一次。因此,上次创建的评论完全独立于客户。每个客户一次,或者整个项目一次?很好-应该已经澄清了这一点。整个项目一次。因此,上次创建的评论完全独立于客户。谢谢。一切正常。一条注释:在处理器文件中,您必须导入类注释:from myapp.models导入注释谢谢。一切正常。一条注释:在处理器文件中,必须导入类注释:from myapp.models import comment
def last_comment(request):
return {'lastComm': Comment.objects.order_by('-id').last()}
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',
'path.to.processor.last_comment'
],
},
},
]