контекст по умолчанию для всех страниц Django - PullRequest
1 голос
/ 04 марта 2020

Мне было интересно, есть ли способ отправить контекст по умолчанию для всех страниц в django, например, что пользователь всегда передается в шаблон независимо от другого контекста, для моего конкретного случая я хочу отправить контекст для панели навигации, такой как категории и подкатегории для всех страниц без необходимости отправлять во всех просмотров. ТИА

1 Ответ

1 голос
/ 04 марта 2020

Вы можете достичь этого, создав контекстный процессор. Создайте 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 , чтобы вызвать созданный контекстный процессор

'OPTIONS': {
    'context_processors': [
        ....
        'yourAppName.context_processors.add_variable_to_context',
        ....
    ],
},

Теперь вы можете вызывать созданные вами контекстные словари в базе . html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...