0

私はdjangoを初めて使用し、フォームウィザードを使用しようとしています。私は公式ドキュメントに従っており、そこから次の例を試しています。

from django import forms
from django.contrib.formtools.wizard.views import SessionWizardView

class ContactForm1(forms.Form):
    subject = forms.CharField(max_length=100)
    sender = forms.EmailField()

class ContactForm2(forms.Form):
    message = forms.CharField(widget=forms.Textarea)

class ContactWizard(SessionWizardView):
    pass # I tried with a done() method as well, just to be sure.

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

しかし、上記は次のエラーを行にスローしますform1 = wiz.get_form('0')

Traceback (most recent call last):
  File "fw.py", line 19, in <module>
    form1 = wiz.get_form('0')
AttributeError: 'function' object has no attribute 'get_form'

これはドキュメントのバグですか、django自体ですか、それとも(おそらく)私のコードに何か問題がありますか?Linux(Ubuntu)でdjango1.4.1を使用しています。

グーグル検索では、関連するリンクが2つだけ表示されます。1つはdjango IRCからのもので、もう1つはDjango Brasilからのものですが、どのリンクにも解決策はありません。

4

1 に答える 1

1

このドキュメントエラーをこのチケットでDjangoチームに報告しましたが、マスターで修正されました。

そのはず:

wiz = ContactWizard.as_view([ContactForm1, ContactForm2], initial_dict=initial)(request)
于 2013-02-24T00:21:58.037 に答える