Согласно djangopackages , самое популярное приложение меню в 2018 году - django-sitetree
.
Выделение элемента можно выполнить с помощью второго инструмента по ссылке выше, django-activeurl .
Однако для больших сайтов django-sitetree может иметь производительность проблем.
Существует еще один способ, связанный с иерархической структурой меню: modified preorder tree traversal
, который оптимизирует запросы к базе данных для поиска по дереву.
Используйте django-mptt для хранения иерархических данных (например, меню с подменю на неограниченную глубину). Используйте django-mptt-admin , чтобы легко управлять ими в меню администратора. contenttypes
framework может быть полезен для более общих меню (это не показано в руководстве django-mptt).