0
djangoフォームSessionWizardView
を使用してフォームウィザードを実装しています。 urlの設定は次のとおりです。djangoのSessionWizardViewでリクエストオブジェクトにアクセス
url(r'^contact/(?P<pk>\d+)/$', views.ContactWizard.as_view([DummyForm, OtherForm]), name='contact'),
ここでのアイデアは、初期データをフォームに入力できるようにプライマリキーを渡していることです。フォームは次のように別のビューから読み込まれます:
def populate_review_form(request):
pk = 2
return redirect('contact', pk=pk)
ここでは、フォームにハードコードされた主キーを渡そうとしています。私は次のようにフォームの初期値を生成するget_form_initial
をオーバーライドしていますどこ
さて、私のフォームの実装は簡単です:
class ContactWizard(SessionWizardView):
def get_template_names(self):
return "test.html"
def get_form_initial(self, step):
pk = self.request.GET.get('pk')
# Just attempt to print the primary key
print pk, self.request.GET
return {}
def done(self, form_list, **kwargs):
return HttpResponseRedirect('index')
問題は、これは常にNone <QueryDict: {}>
を印刷していることです。したがって、基本的に私のパラメータが渡されていないか、正しいrequest
オブジェクトにアクセスできません。 Djangoでこの通信を行うことは可能ですか?
ありがとうございました!それは動作します。まだこの周りに私の頭を得て! – Luca