нужно решение на основе Python для веб-отображения табличных данных - PullRequest
3 голосов
/ 08 февраля 2011

Мне нужно сделать структуру табличных данных (текстовый файл с разделителями табуляции) доступной для просмотра в виде веб-решения. Я программист по биоинформатике, практически не имеющий опыта в веб-разработке. Я знаю, что django очень популярен в сообществе питонов, но я хотел бы спросить здесь, прежде чем пойти дальше и купить книгу о django. Какой бы вы выбрали технологический стек для достижения чего-то подобного. Мне нужно отобразить таблицу из 40-50 столбцов и 100 000 строк и, надеюсь, позволить пользователю фильтровать данные на основе определенных элементов данных (т.е. показывать только строки, имеющие определенное значение в определенном столбце, отображать только данные, которые были записаны в понедельник и скрыть все остальные будни)

Прошу прощения, если этот вопрос слишком расплывчатый или глупый, но мне действительно нужны некоторые основные указания здесь. Спасибо

Ответы [ 5 ]

2 голосов
/ 08 февраля 2011

Джанго может сделать это довольно легко.

1 голос
/ 08 февраля 2011

Если то, что вы описываете, действительно все, что вы делаете, то я бы сказал, что Джанго может быть излишним.Может быть, сначала попробуйте более простую базовую инфраструктуру, например Cherrypy (см. tutorial ), чтобы обслуживать вашу простую страницу / форму (вам даже не нужны шаблоны, просто выплюните HTML сам)Теперь все, что вам нужно, это немного кода для чтения, фильтрации и / или страниц и форматирования вашего CSV.

1 голос
/ 08 февраля 2011

Я думаю, что это легко сделать без JavaScript. То, что неолазер обрисовал в общих чертах, является моим предпочтительным решением также, но django мог сделать это без пота. Вам понадобится

  1. для настройки вашего models.py в соответствии с вашей базой данных
  2. представление, которое принимает запросы на получение и делает запросы на основе их содержимого. http://docs.djangoproject.com/en/dev/ref/models/querysets/
  3. шаблон, который отображает результаты этих запросов и позволяет вам получать запросы, которые будут интерпретироваться вашим представлением.

Поскольку django является такой широко используемой средой, довольно легко найти исчерпывающую информацию о различных терминах (google: "django views", "django models" и т. Д.).

1 голос
/ 08 февраля 2011

Django может сделать это, но я думаю, что лучший способ - это использовать Javascript Framework поверх django, в настоящее время я делаю это.ExtJS имеет различные типы сеток в вашей ситуации. Я думаю, что «живая» сетка была бы идеальной.

Он загружает x количество строк, так что вам не нужно загружать 100 000 строк каждый раз, то, что видит пользователь.Кроме того, фильтры и т. Д. Встроены, а также многие другие функции

Другие структуры JavaScript, которые делают подобные вещи, являются YUI и, на мой взгляд, JQuery в меньшей степени

Редактировать / Разработать

Так что, очевидно, здесь не место для ускоренного курса для начинающих, но, по моему мнению, есть несколько вещей, которые вам нужно сделать и знать.

Это сработает, сначала создавпредставление django, которое возвращает строку JSON .(Если это предложение не имеет большого смысла, я бы порекомендовал пролистать учебник по Django ... на самом деле, вы, вероятно, должны это делать в любом случае). В Python есть методы для преобразования типов данных, такие как словари / csv (в вашем случае, я думаю, TSV LOL) в этом формате.ТОГДА, когда у вас есть это (может быть указано с помощью URL-адреса ... когда вы погрузитесь в Django, это будет иметь больше смысла), тогда вы создадите сетку ExtJS и укажете ее на этот URL-адрес.

Существуетцелая куча учебников по сеткам ExtJS здесь , в частности учебник: Grid PHP SQL Я думаю, это будет полезно.Очевидно, не php, но концепция та же самая.

К сожалению, у меня нет собственных примеров, чтобы показать вам, но есть тонны ресурсов об этом материале, я бы не стал покупать книгу

0 голосов
/ 11 февраля 2011

Если вы хотите собрать что-то подобное очень быстро и легко, и у вас нет большого опыта веб-разработки, я думаю, что ваша лучшая ставка будет web2py .Он не требует установки или настройки, не имеет зависимостей и включает в себя веб-сервер, реляционную базу данных, интегрированную веб-среду разработки и интерфейс администратора ( demo ) и интеграцию jQuery (для Javascript и Ajax).,Он очень прост в изучении и предназначен для простоты использования и производительности разработчика .Вы можете многое сделать с помощью очень небольшого кода благодаря включенному приложению scaffolding и множеству разумных вариантов поведения по умолчанию.

Что касается отображения таблиц / сеток, вы, вероятно, можете использовать:

Если вам нужна помощь по началу работы или у вас есть вопросы, вы получите большую помощь из очень дружелюбного и отзывчивого списка рассылки .

...