base.html
используется в качестве базового шаблона для всех других страниц. base.html
имеет панель навигации и на панели навигации, я хочу показать количество сообщений, полученных пользователем. Таким образом, мне нужно иметь переменную типа {{number_of_messages}}
в base.html
.Переменная Django в base.html
Однако, как передать эту переменную? Каждый шаблон расширяет base.html
и визуализируется функцией. Я не думаю, что возвращение number_of_messages
во все функции - это хороший способ. Есть ли лучший способ реализовать это? Как передать эту переменную всем шаблонам?
Вы смотрите на процессоры контекстного шаблона django? возможно, самым коротким ответом было бы создание ваших собственных процессоров контекста и размещение их в 'TEMPLATE_CONTEXT_PROCESSORS' в вашем файле настроек. Могут ли мои комментарии быть ответом? REF: https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext – Yeo
привет, я не смотрю на это. Можно ли достичь этой цели, используя тег включения и помещая тег включения внутри base.html? –
Думаю, исходя из вашего основного вопроса, переменная в шаблоне называется «контекстом». тег 'include', делает разные вещи, но, конечно, вы можете передать контекст внутри включенного шаблона, например' {% include "name_snippet.html" с person = "Jane" greeting = "Hello"%} '. Но вам все еще нужен контекст где-то прямо ... https://docs.djangoproject.com/en/dev/ref/templates/builtins/#include – Yeo