以下のような初期フォームがあります
フォーム.py
class LoginForm(forms.Form):
activity_no = forms.CharField()
username = forms.CharField()
ビュー.py
def test(request):
if request.method == 'POST' :
form = LoginForm(request.POST)
if form.is_valid() :
act_no = form.cleaned_data['activity_no']
username = form.cleaned_data['username']
form_data = {}
form_data['activity_no'] = act_no
form_data['username'] = username
return render_to_response("test1.html", { 'form_data' : form_data}, context_instance=RequestContext(request))
else:
form = LoginForm()
return render_to_response("test.html", {'form': form }, context_instance=RequestContext(request))
test.html
{% extends "admin/base.html" %}
{% block content %}
<form action="/todo/test/" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock %}
test1.html
{% extends "admin/base.html" %}
{% block content %}
<form action="/todo/login/" method="post">{% csrf_token %}
{% for name, data in form_data.items %}
<input type="hidden" name={{name}} value={{data}}>
{% endfor %}
<input type="submit" value="Yes"/>
</form>
{% endblock %}
このフォームに入力し、ファイルの内容をいくつか表示して、上記のフォーム データをフォーム ウィザードに渡しますが、テンプレートのポスト メソッドを介してフォーム ウィザードにデータを渡すと、「ManagementForm Data missing」エラーが発生しますが、データはGETメソッドを介して渡され、エラーは発生しませんが、定義されているように、データはGETメソッドのURLに表示されます(私の場合、開示したくないユーザー名が含まれています)
マイ フォーム ウィザード
class LoginWizard(SessionWizardView):
def __name__(self):
"""When using decorators, Django tries to get the name of the
function and since we're a class, we'll fail. So add this method to
compensate."""
return 'LoginWizard'
template_name = "wizard_form.html"
def done(self, form_list, **kwargs) :
form_data = process_form_data(form_list)
私の質問は、フォーム ウィザードで投稿データをどのように処理するかということです。何か不足している場合や、他の情報が必要な場合はお知らせください。