Шаблон Django index.html - меню из кверисета

У меня есть index.html с меню, которое заполняется (должно заполняться) с помощью :

{% for category in categories %}

Обычно я могу вернуть queryset с категориями в моем представлении, но так как это index.html и меню, - я вынужден иметь этот запрос, чтобы получить категории, в каждом отдельном представлении моего приложения?
Я думаю, что это не лучший подход, но я не знаю, как сделать это правильно.

Помогите пожалуйста :)

Для этого можно использовать контекстный процессор.

#app_name_folder/context_processors.py

def get_category_list():
    categories = Category.objects.all()
    return {'categories': categories}

#settings.py

TEMPLATES = [
    {
            "context_processors": [
                ...
                app_name_folder.context_processors.get_category_list
            ],
        },
    },
]

После этого вы можете использовать переменную "categories" во всех своих шаблонах.

#temp.html

{% for category in categories %}
Вернуться на верх