[英]default context for all pages Django
我想知道是否有任何方法可以为 django 中的所有页面发送默认上下文,例如无论其他上下文如何,用户总是被传递到模板,对于我的特殊情况,我想发送导航栏的上下文,例如类别和子类别所有页面而不必发送所有视图。 TIA
您可以通过创建上下文处理器来实现这一点。 在任何应用程序中创建一个context_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(),
}
将此行添加到settings.py 中的TEMPLATES以调用创建的上下文处理器
'OPTIONS': {
'context_processors': [
....
'yourAppName.context_processors.add_variable_to_context',
....
],
},
现在您可以在base.html 中调用您创建的上下文词典
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.