完成表单时如何从大量选项中进行选择

时间:2010-02-01 15:14:14

标签: django django-forms

我正在构建一个允许我们的现场工作人员创建约会的Web应用程序。这涉及创建包含许多外键的记录,其中一些来自非常大的表。例如,员工需要选择潜在的数千名客户中的一个。

在Django中这样做的最佳方式是什么?

  • 一个弹出框,允许用户搜索客户,给他们结果,用户选择结果,然后填写主要约会表格,然后 消失了?
  • 将约会表单更改为客户选择页面 然后以隐藏的形式重新加载约会页面的数据?要么 在一些会话变量中保存数据?
  • 一些来自Ajax的方法。
  • 一个向导,其中包含:客户搜索页面,结果列表,他们从结果中选择,然后是下一个选项的搜索页面(例如产品选择)等等。

(我希望尽可能简单。这是我的第一个Django 项目和我的第一个网络项目比我关心的多年 记得)

ALJ

2 个答案:

答案 0 :(得分:2)

你应该考虑某种自动填充字段。我认为这会为用户带来最佳的可用性。不幸的是,这总是涉及Ajax。但是如果你认为所有用户都启用了JS就没问题了。

E.g。

django-autocomplete

或者可能更强大的东西:

django-ajax-selects


如果使用向导方法,用户完成任务将花费更长时间,并且更难以更改选择。

修改

使用django-ajax选择你可以定义结果的样子。所以你可以,例如添加名称后面的地址。

引用:

  

当您需要执行更多复杂搜索,检查用户权限,格式化结果或自定义结果的排序顺序时,可以编写自定义搜索渠道

答案 1 :(得分:1)

我之前通过集成jQuery自动完成插件完成了这项工作。但是,看到这是你的第一个项目,并希望保持简单,我想你可以使用会话数据选项。例如,您可以显示用户可以搜索并选择客户的搜索页面。然后,您可以将所选客户对象的ID存储为会话数据,并在显示表单时使用它来预填充表单中的相应字段。这就是我的想法。