我想使用forms.ModelForm,但是,我在模板中多次使用相同的表单。
e.g。
...
{{ form.as_p }}
{{ form.as_p }}
{{...
...
因此,表格的名称和ID都是相同的。那么我怎样才能使用ModelForm但是改变输入的id和名称呢?
答案 0 :(得分:1)
您可以使用一些不同的技术为每个表单添加名称/ ID,但您可能希望使用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)