2

我的问题非常具体。我想要一个可以创建表单的应用程序,就像在 Wufoo 上一样,具有易于使用的界面。这意味着,可拖动的元素。

我的问题是,一旦使用更改了表单元素的序数位置,我无法弄清楚状态将如何保存在数据库中。我可以做前端,并且有可用的库,但是如何在后端保存表单的特定实例,以便下次使用登录时,顺序相同。

我很想在这个应用程序中使用 Django。所以,我能想到的基本类是:

class Form(models.Model):
  """...objects..."""


class TextField(models.Model):
  """...objects..."""
  #FK to Form()


class TitleArea(models.Model):
  """...objects..."""
  #FK to Form()

我还可以在 HTML 表单中的元素上使用特定的 ID:

<input id="Field2" name="Field2" type="text"/>

他们(Wufoo)如何做到这一点?我的模型不正确吗?我知道这很幼稚。谢谢。

4

3 回答 3

2

您可以使用ModelForm模型实例来创建表单。只需在用户完成编辑后保存模型,然后当您再次为他们创建表单时,将模型用作您ModelForm(或表单集)的实例:

form = YourForm(instance=model_instance)
于 2011-05-11T18:31:59.010 回答
1

获胜的隐藏输入字段。

认为:

$("#submitForm").click(function() {
    // Check out the state of the union and change the hidden fields accordingly..
    // Something like:
    for (var i = 0; i < $(".orderedElements").length; i++) {
        $("#ordered-" + ((Number) i + 1)).attr('value', $(".orderedElements").eq(i).attr('id'));
    }
});

如果你赶上我的漂移。

于 2011-05-11T18:33:39.073 回答
1

好吧,一个好的起点是考虑一个用例。如果我是用户,我需要什么来构建表单?文本字段,当然——但还有什么?表格会有标题吗?网址?有效期?

绘制出此类信息后,您就可以开始在 Django 中构建模型了。

于 2011-05-11T18:36:19.467 回答