Ich habe ein 2-stufiges Formular mit dem FormWizard wie folgt erstellt:
- 1. Schritt: Benutzer nach Standort fragen
- 2. Schritt: mehrere Suchergebnisse anzeigen abhängig am Standort des Benutzers und zeigen sie als radioButtons an
Die zweite Form hängt nun von der Eingabe der ersten Form ab. Mehrere Blogs oder Stackoverflow-Beiträge behandeln ähnliche Themen, und ich habe die Anweisungen befolgt. Die Variable, die während des process_step gespeichert werden soll, ist jedoch für den nächsten Schritt nicht verfügbar _ init _.
Wie übermittle ich den Ort der Variablen vom Prozessschritt an _ 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/')
Für jede Hilfe sind wir dankbar.
Danke! H
PS: Der Beitrag wurde mit neuerem Code aktualisiert.