如何为一个模型创建Django FormWizard?
问题描述:
我有许多字段的用户必须填写的Django模型。如果我为这个模型创建一个ModelForm,它将足够大一个表单。我想使用FormWizard进行分割。我认为首先可以动态创建表单,然后使用它们创建FormWizard。如何为一个模型创建Django FormWizard?
这是一个好方法还是有更好的方法?
答
对我来说似乎很好。
创建局部形成方法写在docs.
简而言之:
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
最终,你也可以参数化的以这种方式建模。
不,我不喜欢那样。这对我的模型并不好,至少会有4个选项卡,每个选项卡包含10个(平均)字段。 – giolekva 2009-11-08 20:58:07
那有什么问题? 请指定你喜欢什么样的用法。然后我们可以想出一个适合的方法。 – Kugel 2009-11-09 02:33:13
好吧,我只是意识到你想要一个动态的方式,我编辑了我的答案。 – Kugel 2009-11-09 02:37:31