我想用Django创建一个小型Web应用程序。
这是关于不同的问题:我有~20个问题/陈述可以用“同意”/“不同意”/“中立”来回答。现在我需要一种传递数据的方法,因为最后,当用户回答了所有问题时,我必须分析输入。
但我不知道在不同页面/问题中保存数据的最佳方法是什么。我想Form wizard可能是一个好主意。我有多少问题保存在数据库中。
但我不知道如何动态地为每个问题创建一个Form
类。将表格硬编码为here。
那么,有没有一种方法可以使用它并依赖于数据库中有多少问题,或多或少会创建Form
个类?
或者你对我的问题有一个完全不同的解决方案吗?
答案 0 :(得分:0)
我通过让所有问题成为同一表单的一部分来完成此操作,但隐藏除了使用Javascript的当前问题之外的所有问题。它看起来像这样: 1)使用一个类来渲染表单,该类提供除“第一个”之外的所有问题“display:none”。 2)具有不提交的“上一个”和“下一个”按钮,而是隐藏当前问题并转到下一个/上一个。 3)如果有人在倒数第二个问题上点击“下一步”,则显示最后一个问题,并用“提交”按钮替换“下一步”按钮。
这种方法的优点是不需要担心服务器端的分页,也避免了多次保存(如果表单验证,数据库查询或数据处理时间是个问题)
如果您需要在发布问题之前处理和重新处理问题,我建议的方法可能并不理想。但除此之外,我认为这种方法可能会很好地运作。