Мастер форм Django - выбор зависит от первого шага формы

Я создал двухэтапную форму с помощью FormWizard следующим образом:

  • 1-й шаг: запрос местоположения у пользователя
  • 2-й шаг: показать несколько результатов поиска в зависимости от местоположения пользователя и отображать его как radioButtons

Теперь вторая форма зависит от ввода первой формы. Несколько блогов или сообщений stackoverflow посвящены схожим темам, и я следовал инструкциям. Однако переменная, которая должна быть сохранена во время process_step, недоступна для следующего _ init _.

Как передать местоположение переменной из process_step в _ init _?

class reMapStart(forms.Form):
    location = forms.CharField()
    CHOICES = [(x, x) for x in ("cars", "bikes")]
    technology = forms.ChoiceField(choices=CHOICES)

class reMapLocationConfirmation(forms.Form):

   def __init__(self, user, *args, **kwargs):
       super(reMapLocationConfirmation, self).__init__(*args, **kwargs)
       self.fields['locations'] = forms.ChoiceField(widget=RadioSelect(), choices=[(x, x)  for x in location])

class reMapData(forms.Form):
   capacity = forms.IntegerField()

class reMapWizard(FormWizard):
   def process_step(self, request, form, step):
       if step == 1:
          self.extra_context['location'] = form.cleaned_data['location']

   def done(self, request, form_list):
       # Send an email or save to the database, or whatever you want with
       # form parameters in form_list
       return HttpResponseRedirect('/contact/thanks/')

Любая помощь приветствуется.

Спасибо, H

PS: сообщение обновлено новым кодом.

5
задан Yuji 'Tomita' Tomita 19 February 2011 в 14:27
поделиться