UpTrader
Django tree menu
приложение Django, которое выводит древовидное меню
Простое Django приложение для отрисовки древовидного меню, реализованное через templatetag.
Меню и его элементы создаются и редактируются в админ панели Django.
С помощью тега
меню можно расположить на любой странице приложения.
Задача
- Меню реализовано через template tag
- Все, что над выделенным пунктом - развернуто. Первый уровень вложенности под выделенным пунктом тоже развернут.
- Хранится в БД.
- Редактируется в стандартной админке Django.
- Активный пункт меню определяется исходя из URL текущей страницы.
- Меню на одной странице может быть несколько. Они определяются по названию.
- При клике на меню происходит переход по заданному в нем URL. URL может быть задан как явным образом, так и через named url.
- На отрисовку каждого меню требуется ровно 1 запрос к БД.
Запуск
для запуска приложения необходимо:
- Клонировать репозиторий и перейти в каталог проекта git clone git@github.com:AlexMuller45/UpTrader.git
- При необходимости, установить Poetry pip install poetry
- Запустить виртуальное окружение poetry shell
- Установить зависимости poetry install
- Запустить сервер python manage.py runserver
учетные данные для тестовой БД:
при отсутствии файла
необходимо до запуска сервера (п.5) выполнить следующие шаги:
- Выполнить миграции python manage.py migrate
- Создать администратора БД python manage.py createsuperuser
- Выполнить наполнение БД тестовыми данными python fill_menu_db.py
Стек
- python = "^3.11"
- django = "^4.2.7"
Лицензия
MIT License