Django включает шаблон, повторяющийся во всех url, но получает данные из основного url

У меня есть один html шаблон для основного тела и в каждом url это основное тело фиксировано. но данные из этого фиксированного тела отображаются только в основном url или в одном url. например, у меня есть папка входящих сообщений и количество сообщений в ней номер сообщения в ящике

В каждом url у меня есть это сообщение, но в главном url или представлении я отправляю данные в шаблон, например, если вы перейдете в главный url, то номер на inbox покажет, но если вы перейдете в другой url, потому что данные не в вашем представлении, то у вас нет номера. Как я могу это исправить!!!? или мой вопрос в том, как включить шаблон получить данные из специального url в каждом url в django!?

Нет, Django не предоставляет никаких специальных URL концепций, Но вы можете архивировать эти вещи следующим образом...

views.py

def navbar_counters(request):
    a={'inbox':10,'mesages':20}
    return a


def Oneview(request):
    counters= navbar_counters(request)   
    context = {'counters':counters}
    return render(request,'index.html',context)

def Twoview(request):
    counters= navbar_counters(request)   
    context = {'counters':counters}
    return render(re

quest,'page2.html',context)

index.html

    {% block body %}
    <h1>Page - 1</h1>
         <div class="container-fluid mt-5 ">
            <div>
                {% for i,j in counters.items %}
                <button type="button" class="btn btn-primary position-relative ms-5 ">
                    {{i}}
                    <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
                      {{j}}+
                    </span>
                </button>
                {% endfor %}
            </div> 
         </div>
    {% endblock body %}

вывод браузера

enter image description here

NOTE - Вам необходимо вызывать функцию navbar_counters(request) в каждой функции представления, я имею в виду, что вам необходимо вызвать следующий фрагмент кода в каждой функции представления.

    counters= navbar_counters(request)   
    context = {'counters':counters}

Вернуться на верх