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

さて、始めるのに良い場所は、ユースケースについて考えることです。私がユーザーの場合、フォームを作成するために何を利用できるようにする必要がありますか?テキストフィールド、確かに-しかし、他に何がありますか?フォームにタイトルが付けられますか?URL?賞味期限は?

この種の情報をプロットしたら、Djangoでモデルの構築を開始できます。

于 2011-05-11T18:36:19.467 に答える
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 に答える