0

我想使用 forms.ModelForm,但是,我在模板中多次使用同一个表单。

例如

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

因此,表单的名称和标识都是相同的。那么我怎样才能仍然使用 ModelForm 但更改输入的 ID 和名称呢?

4

1 回答 1

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)
于 2012-10-21T03:10:31.613 回答