Форум сайта python.su
Добрый день, форумчане.
Прошу помощи в таком вопросе: что выбрать для web-интерфейса проекта?
Основная задача - вывод информации о том, что происходит внутри проекта.
На странице есть статическая информация, которая должна обновляться при обновлении страницы, а есть динамическая, которая должна раз в 5 секунд подгружать сколько-то строк отчёта о выполнении процесса.
Основная проблема в том, что проект очень широко и плотно использует наследование классов данных, усугубляя это всё большим использованием словарей в качестве параметров объектов (это не прихоть, это такая необходимость из за особенностей проекта).
Вторичная задача - отправка мелких команд управления со страниц.
Проект отлично работает сам по себе, в фоне. Но иногда требуется отправлять команды для разрешения мелких затыков. И тут нужен именно web-интерфейс, так как проектом надо управлять не только с компьютера, но и с телефона\ планшета.
Что выбрать? Есть желание работы с Django, но, имхо, очень он излишен в этом плане. Больше всего вопросов возникает в работе со словарями, как Django с ними будет работать в такой структурной мешанине?
Офлайн
Работа со словарями - это что? Можете привести пример подобной работы?
Офлайн
Есть базовый объект, он обладает некими свойствами, скажем, имя, номер, текущий статус.
Есть наследованные объекты, которые должны уметь принимать различные дополнительные поля. Какие и сколько - никто не знает. В зависимости от типа объекта, различается способ и методика работы с доп.полями. По-этому и был выбран вариант словаря, куда поступают и черпаются данные для аналитики. Плюс у каждого типа объекта есть свои функции и процедуры, отличные от других объектов.
Так же, каждый из наследованных объектов обладает своими уникальными свойствами.
Т.е. получается некая динамическая структура.
В-принципе, можно упростить структуру и свести всё в единый справочник объекта. Но тогда становится неудобно делать аналитику данных.
В БД словари хранятся прямо в таком виде, как они выходят из питона, загружаются обратно через ast.literal_eval.
Если с фильтрацией и приведением данных из БД в удобоваримую форму для представления на сайте как таковых вопросов не возникает, то остаётся вопрос как отправлять команды в ядро проекта из Django.
Разделять на два отдельных глобальных класса и объединять всё это в один большой объект и делать связку между ними?
Пока что проект не является высоконагруженным. Да и в дальнейшем, как показывают наши расчёты, он не превысит 500-600 запросов в секунду.
Или отказаться от Django и использовать простой HTTP-сервер?
Отредактировано e_vladimir (Июнь 6, 2016 15:51:25)
Офлайн
Работа со словарями - это что? Можете привести пример подобной работы?
Офлайн
С телефона или планшета можно зайти на сервер по ssh и выполнить нужные команды, никаких веб-интерфейсов не требуется.
Офлайн