【发布时间】:2018-06-09 07:06:09
【问题描述】:
我正在尝试复制
if form.is_valid():
使用 django 表单向导。 (这个问题应该和向导无关)
我有这个代码:
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_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)>])
如果我尝试只用它来运行它
form.is_valid()
我明白了
Exception Value: name 'form' is not defined
如何获得与 form.is_valid() 等效的功能?
谢谢
【问题讨论】:
标签: python django forms validation