2012-10-21 48 views
0

我想使用forms.ModelForm,但是,我在模板中多次使用相同的表單。更改django forms的名稱和ID。模型表單?

例如

... 
{{ form.as_p }} 
{{ form.as_p }} 
{{... 
... 

因此,表單的名稱和ID都是相同的。那麼我怎樣才能繼續使用ModelForm,但改變輸入的ID和名稱?

回答

1

儘管您可能想要使用formset,但您可以使用少數不同的技術爲每個表單添加名稱/標識。

https://docs.djangoproject.com/en/dev/topics/forms/formsets/

這些可以是混亂一開始,如果你一直在尋找的形式,但只要你明白,這是另一個抽象層,你需要照顧其ModelForm實例的您正在使用。您可能需要使用django.forms.models.modelform_factory

https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#model-formsets

用法是很容易的,但如果你想要做什麼用有趣的形式也可以是更加困難:

>>> from django.forms.models import modelformset_factory 
>>> AuthorFormSet = modelformset_factory(Author)