【发布时间】:2012-10-03 20:31:33
【问题描述】:
我正在尝试创建一个 FormWizard,以便用户只输入一次“日期”(在第 1 步中),然后(在第 2 步中)输入一些带有相关金额的名称。 对于每个“名称”和关联的“金额”,我想保存一个模型实例(字段:日期、名称、金额)。
对于第 2 步,我尝试使用 FormSet,但向导视图根本不呈现任何字段。它只显示“第 2 步,共 2 步”和一个提交按钮。
# In forms.py
class FormForDate(forms.Form):
'''Only for date'''
date = forms.DateField(initial = datetime.date.today())
class AccountaModelForm(ModelForm):
class Meta:
model = Account #model has 3 field: name, date, amount
exclude = ['date']
class AccountsFormSet(forms.Form):
amount_formset = modelformset_factory(Account, form=AccountaModelForm, extra=10, exclude=('date'))
amount_s_formset = amount_formset(queryset=Account.objects.none(),)
在 urls.py(以及其他)中:
url(r'^form/$', AccountMultiple.as_view([FormForDate, AccountsFormSet]))
在views.py中
class AccountMultiple(SessionWizardView):
def done(self, form_list, **kwargs):
for form in form_list:
print form #I am just doing something
return render_to_response('app/formset.html', {
'form': [form.cleaned_data for form in form_list],
})
我在这段代码中做错了吗? 还是模板有问题(我使用了 Django 文档中的那个:here) 还是我错过了第三种可能性?
【问题讨论】:
标签: django django-forms formset django-formwizard