Size: a a a

Django [ru] #STAY HOME

2020 May 27

AO

Alexandr Ognev in Django [ru] #STAY HOME
Вот с этим то как раз у меня проблема
источник

AO

Alexandr Ognev in Django [ru] #STAY HOME
Alexandr Ognev
Всем привет! 🙂 Я постарался максимально упростить и структурировать свою проблему. Может быть информация покажется избыточной, но лучше я дам сразу всё, чем терять время на уточнения, т.к. Пока что по моему опыту вопросы все равно задают

Все скриншоты на которые я ссылаюсь в тексте доступны по адресу 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 минут 🙂
Можно читать начиная с 1 варианта
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
{% for k, v in dict.items%}
 {{ k }}
 {% for i in v %}
   {{ i }}
 {% endfor %}
{% endfor %}
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Alexandr Ognev
Можно читать начиная с 1 варианта
По существу могу ответить только что правильно писать Flea - bassist)
источник

D

Danil in Django [ru] #STAY HOME
У меня есть в модельке
ip_adress - CharField
country - Charfeld
Как при изменении/заполнении ip_adress'a, вызвать метод который поменяет country?
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Danil
У меня есть в модельке
ip_adress - CharField
country - Charfeld
Как при изменении/заполнении ip_adress'a, вызвать метод который поменяет country?
Save
источник

AO

Alexandr Ognev in Django [ru] #STAY HOME
tot samiy neizvestniy
{% for k, v in dict.items%}
 {{ k }}
 {% for i in v %}
   {{ i }}
 {% endfor %}
{% endfor %}
Это шаблон на конкретный мой def или пока абстрактный?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Alexandr Ognev
Можно читать начиная с 1 варианта
Может проблема конечно с моей стороны, но код нечитаем.
источник

D

Danil in Django [ru] #STAY HOME
просто при save он будет каждый раз пытаться менять, даже если ip_adress в модельке не менялся
источник

AO

Alexandr Ognev in Django [ru] #STAY HOME
Nikolay Cherniy
Может проблема конечно с моей стороны, но код нечитаем.
Скорее всего я перестарался с примером данных которые я захаркодил туда на время эксперементов
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Alexandr Ognev
Это шаблон на конкретный мой def или пока абстрактный?
Абстрактный, под djangotemplate
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Danil
У меня есть в модельке
ip_adress - CharField
country - Charfeld
Как при изменении/заполнении ip_adress'a, вызвать метод который поменяет country?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Alexandr Ognev
Скорее всего я перестарался с примером данных которые я захаркодил туда на время эксперементов
Не, я про то что вообще не видно, мылит при увиличении
источник

D

Danil in Django [ru] #STAY HOME
благодарю
источник

AO

Alexandr Ognev in Django [ru] #STAY HOME
Nikolay Cherniy
Не, я про то что вообще не видно, мылит при увиличении
эээ. Весь код на https://pastebin.com/is33XEEM это не скриншот что бы он мылился
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Danil
просто при save он будет каждый раз пытаться менять, даже если ip_adress в модельке не менялся
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Alexandr Ognev
эээ. Весь код на https://pastebin.com/is33XEEM это не скриншот что бы он мылился
А, все увидел, там выше просто скрины
источник

D

Danil in Django [ru] #STAY HOME
не думаю, что это лучше решение, поэтому наверное оставлю чтоб постоянно менялось)
источник

AO

Alexandr Ognev in Django [ru] #STAY HOME
Скрины что бы было понятно какой код к какому результатут меня привел
источник

D

Danil in Django [ru] #STAY HOME
или просто первый раз
источник