@Villian_Os

Как с помощью расширения шаблонов передать какой-нибудь контекст в django?

Здравствуйте, заранее извиняюсь, если объясняю проблему непонятно.
Имеются у меня шаблоны в проекте django: main-page.html, help-page.html и base.html.

base.html - это навбар у меня, панель меню.
В нем я реализовал, коротко говоря по смыслу, такой код.
<head>
    <title>{% block title%} {% endblock %}</title>
</head>
<body>
<nav>
<!-- Тут много строк кода навигационной панели, я его не вставил -->
Новых отчетов <span class="badge badge-pill badge-success">{{ new_report }}</span>
<!-- В "new_report " вставляется из views.py моя переменная о количестве отчетов. -->
  </nav>
 <main>
          {% block content%} {% endblock %}
   </main>
</body>


В main-page.html
{% extends 'main_application/base.html' %}

{% block title %}
Главная страница
{% endblock %}

{% block content %}
{{ description }}
{% endblock %}


В help-page.html
{% extends 'main_application/base.html' %}

{% block title %}
Справка
{% endblock %}

{% block content %}
Данный сайт предназначен для отчетности
{% endblock %}


То есть я использую extends, чтобы передать содержимое в те две страницы.
И вот в чем проблема моя: Я в base.html передал переменную {{ new_report }} из view.py, но при открытии main-page или help-page там просто она отсутствует. То есть с помощью extends я только html код могу передать?
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
@bacon
Читайте доки, там всё расписано. Шаблоны не умеют передавать контекст, они его только принимаю, например из конкретного view. Так же есть context processor'ы https://docs.djangoproject.com/en/3.0/ref/template... которые передают контекст всем шаблонам. Еще эту проблему можно решить через https://docs.djangoproject.com/en/3.0/howto/custom...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
13 авг. 2020, в 12:26
12000 руб./за проект
13 авг. 2020, в 11:59
20000 руб./за проект
13 авг. 2020, в 11:57
15000 руб./за проект