在django中创建交互式笛卡儿网格

时间:2011-02-25 10:04:33

标签: django django-models cartesian blackboard

我对我正在开发的名为e-cidadania(GPL)的平台有疑问。其中一个应用程序将类似于黑板,您可以放置​​消息。我被要求像笛卡尔网格那样(p.e. x =好/坏,y =昂贵/便宜)。我的问题是,有没有人知道django这样的应用程序?或者如果没有,我该怎么办?我不知道从哪里开始。

我会解释一个用例,如果有人不明白:你在教室里,老师在黑板上划出轴并告诉学生写一个笔记。之后,每个学生都会根据轴放置他的笔记。

enter image description here

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题,但是如果我是正确的,您希望用户输入文本(餐馆名称或类似名称),而不是显示2个滑块或下拉框的评级和价格,您想显示一个笛卡尔图表,用户可以在其中单击某处,从而只需点击一下即可输入2个值。

这与Django或Python无关,这是纯粹的客户端。想想javascript。一种方法是使用笛卡尔网格显示图像,设置一个onclick处理程序,并查看图像在图像中的位置。只需设置一个具有绝对位置的彩色div(相对于图像的位置),即可显示所选点。

我不知道任何即插即用的解决方案,但建立这个解决方案应该不会太难。

单独注意:我怀疑这对用户来说实际上对用户更友好,然后只使用两个滑块。

更新:
或者,如果您想显示一个大笛卡尔图表,其中用户实际上必须在正确的位置输入文本,这可以使用相同的想法:创建文本输入,但隐藏它(显示:无)。然后,当用户单击图表上的某个位置时,将文本输入移动到正确的位置并显示它。

答案 1 :(得分:0)

这可能有点牵强,但不是单独使用django这样做,为什么不使用javascript来做这个客户端呢?

听我说这里。

highcharts graphing插件有一个选项,允许你在(笛卡尔)图上添加点。检查this example。该插件还允许您在悬停在点上时显示自定义消息,因此您可以使用它来显示实际消息,并且您可以通过Ajax提交新添加的消息来处理新消息的实际保存。