TreeMenuDjango - это Django-приложение для создания и отображения древовидных меню выполненое в рамках тестового задания.
- Реализация древовидных меню через template tag.
- Хранение данных в БД Django.
- Редактирование меню через стандартную админку Django.
- Активный пункт меню определяется исходя из URL текущей страницы.
- Возможность размещения нескольких меню на одной странице.
- переход на уровень менб по клику на
+
. - Ровно 1 запрос к БД для отрисовки каждого меню (отследить можно на странице http://localhost:8000/silk/, на тестовой главной странице 2 меню).
- дополнительно настроен pre-commit (ruff, mypy, black) + CI GitHab Action (unittest)
-
Убедитесь, что Docker установлен на вашем компьютере.
-
Клонируйте репозиторий:
git clone https://github.com/serkuksov/treemenudjango.git cd treemenudjango
-
Запустите приложение с использованием Docker Compose:
docker-compose up -d
-
Приложение будет доступно по адресу http://localhost:8000/.
-
В тестовой БД SQLite создано 2 меню доступные на главной странице.
-
Админ панель доступна по адресу http://localhost:8000/admin/.
- Логин: admin
- Пароль: admin
-
Для добавления своего функционала зарегистрируйте ваше меню в админке Django.
-
Используйте template tag для отображения меню в шаблонах:
{% load menu %} {% draw_menu 'main_menu' %}
где main_menu
- слаг меню указываемый в админке Django.
TreeMenuDjango распространяется под лицензией MIT.