【发布时间】:2017-05-09 06:03:48
【问题描述】:
我有一个页面,我想这样做:首先,用户只看到一个表单,例如,假设它允许用户选择产品类型。提交此表单后,第二个表单(其内容取决于产品类型)出现在其下方。然后,用户可以填写第二个表单并提交,或者修改并重新提交第一个表单 - 无论哪种方式,我都希望第一个表单保持用户的输入(在本例中为产品类型),即使第二个表单是已提交。
我怎样才能在 django 中干净地做到这一点?我正在努力以第一种形式保存数据:例如如果用户提交第二个表单并且它有验证错误,当页面显示第一个表单时,产品类型将呈现为空白,但我希望该选项保持设置为用户选择的内容。这种行为并不神秘或意外,但不是我想要的。另外,如果用户成功提交了第二个表单,我想重定向以便第一个表单保持选择并清除第二个表单。
我想到的最好的方法是将 URL 与第一个表单的字段(诚然没有太多参数)混合并在那里存储它的状态,或者将两种表单组合成一个 HTML 表单对象并基于不同的响应在提交按钮的名称上(尽管我不知道如何使用重定向来清除第二个表单并在我这样做时保留第一个表单)。有没有我想念的更清洁、更明显的方法?谢谢。
【问题讨论】:
-
我建议开始使用 Ajax。