Я разрабатываю веб-приложение, которое создает визуализацию некоторых данных.
Данные взяты от сторонних организаций, используя их API-интерфейсы и импортированы в мою базу данных. Ввоз будет производиться спорадически, поэтому моя база данных будет довольно статичной.Django: создайте файл csv и загрузите его с помощью Javascript
Визуализации будут динамически создаваться в JavaScript с использованием d3. Когда вы думаете о том, как передавать (и форматировать) данные с сервера на клиент, я думал, что могу экспортировать его в CSV-файл, а затем загрузить его из javascript (d3 имеет встроенный синтаксический анализатор csv).
Таким образом, файл csv удваивается как система кэширования: он будет регенерировать (и, следовательно, запросить базу данных), только если он старше, скажем, недели.
Мой вопрос: где и как сохранить сгенерированный файл csv? STATIC_ROOT
, MEDIA_ROOT
, другой жесткий каталог? Также, как вы думаете, система csv - хорошая идея?
Извините, если вопросы могут показаться бесполезными, я буквально взял и django, и d3 меньше, чем неделю назад.
Как я могу ссылаться на каталог данных, просто hardcode '../ data/something.csv' из моего файла html/js? Разве Django не обслуживает статические файлы? – LeartS
Я бы посоветовал создать переменные PROJ_ROOT, DATA_ROOT (относительно PROJECT_ROOT), используя pythons 'os' module. Таким образом, вы можете быть в безопасности от различий в обозначениях разделителей путей для Unix и Windows. – shaktimaan
Является ли csv не более компактным, чем json, поскольку имена полей появляются только один раз в заголовке? d3 имеет хорошие инструменты для обработки csv, и это стало моим предпочтительным форматом для работы. – PhoebeB