繁体   English   中英

所有页面 Django 的默认上下文

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM