0
我有以下形式:如何檢查確認電子郵件同樣在Django
class SignupForm(forms.ModelForm):
time_zone = forms.ChoiceField(choices=TIMEZONE_CHOICES)
email = forms.EmailField()
confirm_email = forms.EmailField()
password1 = forms.CharField(widget=forms.PasswordInput())
password2 = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = Customer
fields = (
'first_name',
'last_name',
'coupon_code'
)
def clean_email(self):
email = self.cleaned_data['email']
print 'email cleaned data: '+cleaned_data
try:
User.objects.get(email=email)
raise forms.ValidationError('Email already exists.')
except User.DoesNotExist:
return email
def clean_confirm_email(self):
print '-----'
print 'confirm email cleaned data: '+cleaned_data
email = self.cleaned_data['email']
confirm_email = self.cleaned_data['confirm_email']
if email != confirm_email:
raise forms.ValidationError('Emails do not match.')
return confirm_email
此打印:
email cleaned data:
{'coupon_code': u'coup', 'first_name': u'Gina', 'last_name': u'Silv', 'time_zone': u'America/New_York', 'email': u'[email protected]'}
-----
confirm email cleaned data:
{'first_name': u'Gina', 'last_name': u'Silv', 'confirm_email': u'[email protected]', 'time_zone': u'America/New_York', 'coupon_code': u'coup'}
在運行此我得到的錯誤:
key error 'email' self.cleaned_data['email']
我如何訪問clean_confirm_email
方法中的電子郵件字段?