django1.3 + django-formwizard +初始数据问题

时间:2011-07-07 14:18:27

标签: python django django-formwizard

我正在使用django 1.3,使用django-formwizard。 我有一个带有2个ModelForms的WizardView,它在创建模式下工作正常(as_view链接在url conf中) 但我不能让它在编辑模式下工作。 当我在视图中时:

return MyWizard.as_view([Form1,Form2], instance_dict={0:instance1, 1:instance2})(request)

上下文中不存在向导实例 如果我这样做:

return MyWizard([Form1,Form2], instance_dict={0:instance1, 1:instance2})

我得到:      init ()只需要1个非关键字参数(给定2个)

MyWizard非常基础,只有get_template_namesdone方法。

1 个答案:

答案 0 :(得分:0)

看起来FormWizard构造函数接受一个名为initial的关键字参数,而不是其他任何东西,这是一个到初始数据字典的字典映射步骤。

def __init__(self, form_list, initial=None):

https://docs.djangoproject.com/en/1.3/ref/contrib/formtools/form-wizard/#providing-initial-data-for-the-forms

>>> from testapp.forms import ContactForm1, ContactForm2, ContactWizard
>>> initial = {
...     0: {'subject': 'Hello', 'sender': 'user@example.com'},
...     1: {'message': 'Hi there!'}
... }
>>> wiz = ContactWizard([ContactForm1, ContactForm2], initial=initial)
>>> form1 = wiz.get_form(0)
>>> form2 = wiz.get_form(1)