Всем привет! 🙂 Я постарался максимально упростить и структурировать свою проблему. Может быть информация покажется избыточной, но лучше я дам сразу всё, чем терять время на уточнения, т.к. Пока что по моему опыту вопросы все равно задают
Все скриншоты на которые я ссылаюсь в тексте доступны по адресу
https://imgur.com/gallery/faCWbqpИтак, дан старый легаси веб сервис, написан хрен знает когда и кем на пхп, выполняет роль мониторинга сетевых устройств (микротиков), и выводит данные в удобную для сотрудников таблицу (вопрос почему не заббикс или еще что то можем сразу закрыть, заббикс есть, и он выполняет свои цели).
Поскольку рано или поздно мне все равно приходиться объяснять логику почему таблицы должны выглядеть так а не иначе, то коротко, есть станции которые в городе подключены проводом в интернеты (стык), и к этим станциям по радио подключены другие станции (поле)
На скриншоте 1 мы видим серые прямоугольники (стык) и у них зеленые (поле). Количество радиостанций является динамической величиной.
На скриншоте 2 мы видим что каждая строчка отделена <br>
Сервис старый, выполняется в одном потоке, практически в фирме не осталось пхпистов, а штатный программист пишет на GO сервисы совершенно другого уровня, так что это шанс для меня изучить разработку и поднять свои скилы и ценность на рынке.
Мне удалось разобраться и сделать механизм на питоне который подключается к станциям по API и собирает нужные данные. Это был интересный путь, но он пройден и вне тематики этого чата
На скриншоте 3 мы видим что мне ничего не стоит вывести эти данные в консоль. Но это не то что нужно сотрудникам)
С помощью уроков по Django и гугления мне удалось сделать два варианта как рендерить таблицу в Джанго, но в обоих вариантов я зашел в тупик
https://pastebin.com/is33XEEM - ссылка на код шаблонов и views
1 вариант (код шаблона и вьюхе по ссылке)
Как мы видим на скриншоте 4 мне удалось отрендерить таблицу, но есть проблема в том что данные внутри ячейки являются одним сплошным текстом без переносов (скриншот 5). Что есть плохо
2 вариант
Мне удалось разместить данные отдельными строками как видно на скриншоте 6, но тут я попал в засаду что не понимаю как мне к стыку добавить станции больше чем одна. Если посмотреть в Def tabletest который доступен по ссылке, то видно что я использовал метод словарь в словаре и это как мне кажется либо тупиковый путь, либо я чего то не знаю. Допускаю оба варианта (В скриншоте 6 у меня есть один родительский элемент (стык) и один дочерний (поле). Не знаю как сделать что бы дочерних (поле) было столько же как на скриншоте 5 или на скриншоте 1 или 2)
Код обоих вариантов по ссылке. Как только я пойму как мне хранить данные для таблицы, я уже перейду к варианту как передавать в шаблон реальные динамические данные а не тестовые жестко заданные, но это уже другая история (в планах каждый элемент таблицы сделать динамическим что бы можно было его перезагружать отдельно, + данные собирались в многопотоке, что бы страница грузилась не 40-60 секунд как сейчас а секунды 2-4)
Обращаюсь в чат т.к. Реально попал в тупик когда не знаю даже как правильно загуглить мануал который мог бы мне помочь, уверен что любой опытный разработчик прочитав мой текст решит эту задачу за 5-10 минут 🙂