簡體   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