Python Django所有页面的默认上下文
我想知道是否有任何方法可以为django中的所有页面发送默认上下文,例如用户总是被传递到模板,而不管其他上下文如何,对于我的特殊情况,我希望将navbar的上下文(例如类别和子类别)发送到所有页面,而不必发送所有视图。Python Django所有页面的默认上下文,python,django,templates,Python,Django,Templates,我想知道是否有任何方法可以为django中的所有页面发送默认上下文,例如用户总是被传递到模板,而不管其他上下文如何,对于我的特殊情况,我希望将navbar的上下文(例如类别和子类别)发送到所有页面,而不必发送所有视图。 TIA您可以通过创建上下文处理器来实现这一点。在任何应用程序中创建上下文\u processors.py,我建议在主应用程序上创建。在这里,您可以创建上下文词典。像这样: from product.models import SubCategory, Category def
TIA您可以通过创建上下文处理器来实现这一点。在任何应用程序中创建上下文\u processors.py,我建议在主应用程序上创建。在这里,您可以创建上下文词典。像这样:
from product.models import SubCategory, Category
def add_variable_to_context(request):
return {
'subCategories': SubCategory.objects.order_by('id').all(),
'categories': Category.objects.order_by("id").all(),
}
将此行添加到设置.py中的模板中,以调用创建的上下文处理器
'OPTIONS': {
'context_processors': [
....
'yourAppName.context_processors.add_variable_to_context',
....
],
},
现在,您可以在base.html创建上下文处理程序文档中调用创建的上下文词典: