0

我有一个 ModelForm 类,可以在一个页面上使用一次或多次。例如:

class ProductForm(forms.ModelForm):

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

现在,当我想在一个页面上多次使用表单时,例如:

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

我现在可以将列表 prodforms 传递给模板,用户可以在页面上输入多个产品。变量 nrofproducts 为:1、2、4、8 或 16

这不起作用,因为我将获得具有相同名称的表单元素。我需要能够区分各种表单元素。因此,我需要一种修改表单属性的方法,例如通过将视图代码中的循环中的索引“i”附加到表单的“名称”属性中。任何帮助,将不胜感激。

制作这样的表单布局的原因是用户可以选择在单个页面上查看 1、2、4、8 或 16 个产品,我希望输入表单类似于他在完成后将看到的布局。

4

1 回答 1

1

你真的不想这样做。更简单的方法是使用 Django Formset

于 2012-12-02T16:36:08.510 回答