我想使用 forms.ModelForm,但是,我在模板中多次使用同一个表单。
例如
...
{{ form.as_p }}
{{ form.as_p }}
{{...
...
因此,表单的名称和标识都是相同的。那么我怎样才能仍然使用 ModelForm 但更改输入的 ID 和名称呢?
您可以使用几种不同的技术为每个表单添加名称/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)