Я новичок в Django. Столкнулся с такой задачей. В шапке сайта есть выпадающее меню услуг. Услуга - это модель для БД. Я беру список всех услуг, отправляю в шаблон, шаблонизатор по этим услугам строит менюшку и отправляет готовую html'ку на фронт.
Я подумал, что раз шапка сайта есть на каждой странице, а писать в каждом контроллере запрос на получение всех услуг и добавления их в контекст - дело не благородное, напишу-ка я слой middleware, который будет получать все услуги при каждом запросе и добавлять их в контекст (если что, эту ф-ию я использовал в context_processors, а не самом middleware).
Проблема в том, что теперь например функция-контроллер страницы услуг выглядит так:
def services(request: HttpRequest) -> HttpResponse:
"""
Функция-контроллер страницы услуг.
:param request: Объект запроса.
:return: Объект ответа со страницей услуг.
"""
context = {}
return render(request=request,
template_name='services/services.html',
context=context)
Т.е. допустим я открою свой код через месяц, погляжу, а у меня страница услуг не возвращает никаких услуг! Очень странно. Вот в этом и есть моя смута, в силу своей неопытности не знаю, что хорошо, а что плохо.