Нужно руководство по созданию Django-панели - PullRequest
0 голосов
/ 25 марта 2019

Я новичок в Django, и в качестве учебного проекта я хотел бы создать веб-страницу с панелью мониторинга для отслеживания инвестиций в конкретную платформу p2p.Они не имеют хорошей панели инструментов (но предоставляют файл Excel со всеми данными).На мой взгляд, основные шаги, которые мне нужно сделать в этом проекте, следующие:

  1. Создайте логин, чтобы у пользователей была учетная запись, в которую они загружали свои файлы Excel.
  2. Makeможно импортировать файл Excel в базу данных
  3. Управление / расчет данных для последующего использования в панели мониторинга
  4. Создание панели управления.
  5. Веб-страница хоста.

После некоторой борьбы я реализовал пункт №.2, и будет иметь дело с 1 и 5 позже.Но номер 3 - моя самая большая проблема сейчас.

Я совершенно не уверен, что мне нужно делать, и гугл не помог.Мне нужно рассчитать данные, прежде чем я могу сделать из него панель инструментов.Объедините две таблицы, а затем соедините их вместе с третьей таблицей, создавая дополнительные необходимые вычисляемые поля.Могу ли я создать представление в базе данных и каким-то образом получить эти данные в Django?Или мне нужно создать некоторые правила, чтобы новая таблица создавалась во время импорта?Я думаю, что наличие таблицы вместо представления будет иметь лучшую производительность.Или, может быть, я делаю это совершенно неправильно, и должен использовать совершенно другой подход для такого рода задач?Кроме того, является ли SQLite хорошей базой данных для задачи (я использую ее, потому что это было по умолчанию в Django)?

Я предполагаю, что для части визуализации мне потребуется сделать это скакая-то библиотека JavaScript, такая как D3?Который затем будет использовать данные из шага 3.

1 Ответ

1 голос
/ 25 марта 2019

Для части 3 есть 2 способа: либо выполнить эти действия и сохранить результат в вашей базе данных, либо вы можете сделать это, когда вам это нужно, используя такие функции модели django, как аннотации, агрегирование и т. Д.

  • Вариант 1 требует добавления таблицы для расчета, которая называется Модели в django.

  • Вариант 2 требует создания аннотаций в представлении или менеджерах моделей, а затем с использованиемих в представлениях.

Django docs: Aggregation

Что лучше, зависит от того, насколько велики ваши данные, насколько сложен расчети как часто они вам нужны.

А для базы данных;SQLite - это просто база данных для разработки, а не для производства, и, как правило, с большим количеством данных и большим количеством вычислений.Рекомендованная база данных для django - postgresql, которая довольно хорошо справляется с обработкой миллионов и даже миллиардов данных и выполняет сложные вычисления.

А для визуализации вы должны обрабатывать ее на стороне шаблона, которая в основном состоит из HTML, CSS и JS.

...