2012-12-02 57 views
0

我有一個ModelForm類,可以在單個頁面上使用一次或多次。例如:多個Django窗體

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

我現在就可以通過列表prodforms的模板,用戶可以輸入多個:

class ProductForm(forms.ModelForm): 

    class Meta: 
     model = Product 
     exclude = ('prod_seq_number') 
現在,當我想用​​的形式不止一次在一個頁面上,如

產品在頁面上。可變nrofproducts是:1,2,4,8或16

這不起作用,因爲我將得到具有相同名稱的表單元素。我需要能夠區分各種表單元素。因此,我需要一種方法來修改表單屬性 ,例如通過在視圖的循環中附加索引'i'來編碼表單的'name'屬性。任何幫助,將不勝感激。

製作此類表單佈局的原因是,用戶可以選擇在單個頁面上查看1,2,4,8或16個產品,並且我希望輸入表單類似於他將在什麼時候看到的佈局完了。

回答

1

你真的不想這樣做。更簡單的方法是使用Django Formset

+0

謝謝。爲什麼我沒有想到這一點。 – Henri