2
をIS_VALID場合、私はDjangoのフォームウィザードでDjangoはフォーム()
if form.is_valid():
を複製しようとしています確認してください。私はform_listをプリントアウトする場合、私はこの
odict_values([<UserAddonForm bound=True, valid=True, fields=(fav_food;fav_drink;first_name,last_name;email)>,ContactForm3 bound=True, valid=True, fields=(info1;info2;message)>])
取得
class ContactWizard(SessionWizardView):
def get_template_names(self):
return [TEMPLATES[self.steps.current]]
def done(self, form_list, **kwargs):
if self.request.method == 'POST':
print(form_list)
process_form_data(form_list)
return HttpResponseRedirect('../home')
def process_form_data(form_list):
if form.is_valid():
form_data = [form.cleaned_data for form in form_list]
first_name = form_data[0]['first_name']
last_name = form_data[0]['last_name']
email = form_data[0]['email']
fav_food = form_data[0]['fav_food']
fav_drink = form_data[0]['fav_drink']
user = User.objects.create_user(email)
user.first_name = first_name
user.last_name = last_name
user.email = email
user.save()
user_addon = UserAddon.objects.create(user=user,fav_food=fav_food,fav_drink=fav_drink)
user_addon.save()
return form_data
と私がしようと実行している:私はこのコードを持っている
を(この質問は、ウィザードとは何の関係もありません)それだけで
form.is_valid()
と私は
を取得しますException Value: name 'form' is not defined
どのようにすれば、form.is_valid()と同等の効果を得ることができますか?
おかげ
グレートはあなたに感謝します! first_name、last_nameなどは、form_data = form.cleaned_dataの下に字下げする必要があります(ifのように)?またはそれの下にあるべきか? –
@Midi_編集内容を確認してください。 – heemayl
あなたの助けを借りて、本当にありがとう! –