У меня есть представление, которое делает запрос, чтобы получить главное меню:
categories = Category.objects.all()
и это будет почти на всех страницах. Как мне сделать это более сухим?
это для использования в ваших шаблонах?если это так, вы можете взглянуть на контекстные процессоры
Есть несколько вариантов.
Хотя сначала вам нужно проверить, действительно ли вам нужно динамическое меню (запрашивайте новые категории при каждой загрузке страницы).По крайней мере, вы должны кешировать запрос.
Когда дело касается DRY:
{% block menu %}
Если вы хотите, чтобы что-то было на каждой странице, создайте процессор контекста .И подумай о кешировании.