如何为一个模型创建Django表单向导?
我有一个Django模型,这个模型有很多字段,用户必须填写。如果我为这个模型创建一个表单,那个表单会非常大,不太方便。我想用FormWizard把它分成几个部分。我想先动态创建表单,然后再用这些表单来创建FormWizard。
这样做是不是一个好方法,或者有没有更好的办法呢?
1 个回答
2
在我看来,这样做没问题。
关于创建部分表单的方法,可以在文档中找到。
简单来说:
class PartialAuthorForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title')
class PartialAuthorForm(ModelForm):
class Meta:
model = Author
exclude = ('birth_date',)
动态实现这个功能的方法是:
def gimme_my_form(field_tuple):
class MyForm(ModelForm):
class Meta:
model = MyModel
fields = field_tuple
return MyForm
最后,你也可以通过这种方式来参数化模型。