Создание интерактивной декартовой сетки в django

У меня есть вопрос относительно платформы, которую я разрабатываю, под названием e-cidadania (GPL). Одно из приложений будет чем-то вроде доски, на которой можно будет размещать сообщения. Меня попросили сделать это как декартову сетку (т.е. x = хорошо / плохо, y = дорого / дешево). Мой вопрос: кто-нибудь знает о таком приложении для django? Или, если его нет, как я могу это сделать? Понятия не имею, с чего начать.

Я объясню вариант использования, если кто-то не понял: вы в классе, учитель рисует на доске ось и просит учеников написать записку. После этого каждый ученик поставит свою заметку по оси.

введите описание изображения здесь


person Oscar Carballal    schedule 25.02.2011    source источник


Ответы (2)


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

Это не имеет ничего общего с Django или Python, это чисто клиентская сторона. Подумайте о javascript. Один из способов - показать изображение с декартовой сеткой, установить обработчик onclick и посмотреть, где на изображении был сделан щелчок. Отображение выбранной точки может быть выполнено просто путем установки цветного div с абсолютной позицией (относительно положения изображения).

Я не знаю никаких решений plug-and-play, но создать это не должно быть слишком сложно.

Отдельное замечание: я сомневаюсь, что это будет удобнее для пользователя, чем простое использование двух ползунков.

Обновление:
Или, если вы хотите показать большую декартову диаграмму, где пользователь действительно должен ввести текст в правильную позицию, это можно сделать с той же идеей: создать текстовый ввод, но скрыть его (отображение: никто). Затем, когда пользователь щелкает где-нибудь на диаграмме, переместите текстовый ввод в правильное положение и покажите его.

person Kevin Renskers    schedule 25.02.2011
comment
Это больше похоже на ваше обновление. Я разместил базовое изображение, отражающее пользовательский интерфейс. Так вы думаете, что вся работа должна выполняться непосредственно на javascript? - person Oscar Carballal; 25.02.2011
comment
Я вижу, вы добавили изображение, поясняющее интерфейс. Я вижу, что ввод для ввода нового сообщения находится под диаграммой, а не внутри нее. Теперь я запуталась :) - person Kevin Renskers; 25.02.2011
comment
Для вывода сообщений на декартовой диаграмме вы, вероятно, могли бы использовать python api, см. stackoverflow.com/questions/52652/. - person Kevin Renskers; 25.02.2011
comment
Проблема в том, что это не диаграмма или график, это доска, как если бы в вашем классе каждый написал заметку и положил ее на доску в соответствии с осью. Думаю, я не очень хорошо объясняю: / - person Oscar Carballal; 25.02.2011

Это может показаться немного надуманным, но вместо того, чтобы делать это только с помощью django, почему бы вам не сделать эту клиентскую часть с помощью javascript?

Послушайте меня здесь.

В плагине для построения графиков highcharts есть опция, которая позволяет добавлять точки на (декартовом) графике. Проверьте этот пример. Плагин также позволяет отображать пользовательские сообщения при наведении курсора на точки, чтобы вы могли использовать это для отображения фактического сообщения, и вы могли обрабатывать фактическое сохранение нового сообщения, отправив новое добавленное сообщение через Ajax.

person zsquare    schedule 25.02.2011