Почему мой contextProcessor не работает для всех шаблонов?Джанго 2.2.1 - PullRequest
0 голосов
/ 09 июля 2019

Как видно из заголовка, я установил процессор ввода, но он работает не для всех шаблонов моей страницы, только для некоторых из них, но не для всех.

Я создал context_processor.pyвнутри моего приложения.

def categories_processor(request):
   enterprise = enterprisedata.objects.get(id=0)        
   return {'enterprise': enterprise}

Я слышал, вот и все, что мне нужно для этого.

Но это некоторые шаблоны, когда я пытаюсь назвать его, например:

{% block title %}
<title>{{enterprise.name}} | Carrito</title>
{% endblock %}

Не работает.

Любая помощь?что-то, чего мне не хватает?спасибо!

Ответы [ 2 ]

2 голосов
/ 09 июля 2019

Вам нужно добавить его в context_processors настроек (внутри settings.py файла) в Django:

'OPTIONS': {
    'context_processors': [
        'django.template.context_processors.debug',
        'django.template.context_processors.request',
        'django.contrib.auth.context_processors.auth',
        'django.contrib.messages.context_processors.messages',
        'django.template.context_processors.media',
        <b>'path.to.context_processor.categories_processor'</b>
    ],
},
1 голос
/ 09 июля 2019

Вы должны добавить этот context_processor в ваш проект settings.py файл вроде этого:

TEMPLATES = [
    {
       ......
        'OPTIONS': {
            'context_processors': [
               .........
                'yourapp.context_processor.categories_processor',
            ],
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...