0

1 つのページで 1 回以上使用できる ModelForm クラスがあります。例えば:

class ProductForm(forms.ModelForm):

    class Meta:
        model = Product
        exclude = ('prod_seq_number')

フォームを 1 つのページで複数回使用したい場合、たとえば次のようになります。

prodforms = []
for i in (range(nrofproducts)):
    prodforms.append(ProductForm())

リスト製品フォームをテンプレートに渡すことができるようになり、ユーザーはページに複数の製品を入力できるようになりました。変数 nrofproducts は、1、2、4、8、または 16 です。

同じ名前のフォーム要素を取得するため、これは機能しません。さまざまなフォーム要素を区別できる必要があります。したがって、フォームの「名前」属性にビューコードのループからインデックス「i」を追加するなどして、フォーム属性を変更する方法が必要です。どんな助けでも大歓迎です。

このようなフォーム レイアウトを作成する理由は、ユーザーが 1 ページに 1、2、4、8、または 16 個の製品を表示するように選択できるためです。入力フォームは、終了時に表示されるレイアウトに似せたいと考えています。

4

1 に答える 1

1

あなたは本当にこれをしたくありません。それを行うより簡単な方法は、Django Formsetを使用することです

于 2012-12-02T16:36:08.510 に答える