gitverse new year логотип

UpTrader

Форк
0

год назад
год назад
год назад
год назад
год назад
год назад
README.md

Django tree menu

приложение Django, которое выводит древовидное меню

Простое Django приложение для отрисовки древовидного меню, реализованное через templatetag. Меню и его элементы создаются и редактируются в админ панели Django. С помощью тега

{% draw_menu 'menu_name' %}
меню можно расположить на любой странице приложения.

Задача

  1. Меню реализовано через template tag
  2. Все, что над выделенным пунктом - развернуто. Первый уровень вложенности под выделенным пунктом тоже развернут.
  3. Хранится в БД.
  4. Редактируется в стандартной админке Django.
  5. Активный пункт меню определяется исходя из URL текущей страницы.
  6. Меню на одной странице может быть несколько. Они определяются по названию.
  7. При клике на меню происходит переход по заданному в нем URL. URL может быть задан как явным образом, так и через named url.
  8. На отрисовку каждого меню требуется ровно 1 запрос к БД.

Запуск

для запуска приложения необходимо:

  1. Клонировать репозиторий и перейти в каталог проекта
    git clone git@github.com:AlexMuller45/UpTrader.git
  2. При необходимости, установить Poetry
    pip install poetry
  3. Запустить виртуальное окружение
    poetry shell
  4. Установить зависимости
    poetry install
  5. Запустить сервер
    python manage.py runserver

учетные данные для тестовой БД:

Username: Admin, Password: admin

при отсутствии файла

db.sqlite3
необходимо до запуска сервера (п.5) выполнить следующие шаги:

  1. Выполнить миграции
    python manage.py migrate
  2. Создать администратора БД
    python manage.py createsuperuser
  3. Выполнить наполнение БД тестовыми данными
    python fill_menu_db.py

Стек

  1. python = "^3.11"
  2. django = "^4.2.7"

Лицензия

MIT License

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.