django - 动态添加django表单字段并保留用户输入

时间:2016-03-31 08:16:14

标签: javascript jquery python django forms

情况就像我有一个职位表格,其中的字段就像

  1. 职位名称
  2. 职位描述
  3. 工作资格
  4. 工作要求
  5. 职位名称职位描述是同一个表中名为职位的列,以及职位资格和< em>工作要求是两个单独的表,名称 JobQualifications JobRequirements 分别指向(strongKey)作业表。

    第3和第4个字段是动态的,只允许最少一个条目,但用户可以在浏览器中呈现表单后添加更多资格和要求。

    我接近这个的方式。 我们可以使用javascript添加字段,但是当用户提交表单时,如果表单出现问题,我们必须使用用户输入重新呈现表单。

    我和#django(IRC)的人谈过这个,我发现的确实有用。我们可以像在django教程的 part 7 2.9.2添加相关对象部分中那样使用 inline-formsets ,但是手动实现它将会相当复杂,并涉及做一些JavaScript。

    我无法弄清楚我该怎么做,感谢任何帮助。

    非常感谢

1 个答案:

答案 0 :(得分:0)

您可以在if条件下使用表单的init方法创建字段,例如 -

if request.POST:
    if req_field_exists:
         if new_field in request.POST:
            return
         else:
            new_field = forms.Charfield()

当用户提交表单时,这将起作用,如果提供了上一个字段,则会添加另一个字段。这不会异步或通过AJAX工作。