FormWizard を作成しようとしています。これにより、ユーザーは「日付」を 1 回だけ入力し (ステップ 1)、次に (ステップ 2)、名前と関連する金額を入力します。「名前」と関連する「金額」ごとに、モデルのインスタンスを保存したいと思います (フィールド: 日付、名前、金額)。
手順 2 で、FormSet を使用してみましたが、Wizard ビューは単にフィールドをレンダリングしていません。「ステップ 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 docs のものを使用しました: here ) または、私が見逃している 3 番目の可能性がありますか?