は、ウィザードの最初のステップで受信し、私にどのようにデータを取得する方法を推奨し、第二段階の形でそれを使用してください:ジャンゴフォームウィザードで、前のステップのデータを取得する方法
forms.py
# First step form
class W1_ParamForm(forms.Form):
cities = forms.ModelChoiceField(label = 'City',
queryset=City.objects.all().order_by('name'))
# Second step form
class W1_SelectForm(forms.Form):
oEstates = MyModelMultipleChoiceField(
queryset = RealEstate.objects.
filter(city_id__exact = ...).
order_by('priceM'),
widget = forms.CheckboxSelectMultiple,
required = False)
Herein ... - 都市IDを含むパラメータで、最初の形式W1_ParamFormで選択されています。問題 - それを第2の形式で入手する方法!事前に
views.py
class W1_Estim(SessionWizardView):
template_name = "w1_estim.html"
def done(self, form_list, **kwargs):
form_data = [form.cleaned_data for form in form_list]
return render_to_response('w1_done.html', {'form_data': form_data})
urls.py
urlpatterns = [
...
# Wizard start
url(r'^doestim$', W1_Estim.as_view([W1_ParamForm,W1_SelectForm]), name='doestim'),
...
多くの感謝!
ありがとうございますが、「済」が遅すぎるため、あなたの提案は適用されません。第2のフォームがまだ表示されていない段階で第1段階のデータを取得する必要があります。ステップ1のデータ。 – Vladimir
@ user3611898では、特定の手順を完了した後で、必要な場所から同じ機能を呼び出すことができます。 – Rohan
私はそれを理解していますが、W1_SelectFormのコンストラクタでそのデータをどのように受け取ることができますか?あなたが私に説明してくれれば、とても感謝しています! – Vladimir