我正在尝试通过forms.py对电子邮件进行验证,但它给了我一个错误#34;太多的值无法解压缩"虽然我是django和python编程的新手。
这是我的代码:
<div class="intro-custom">
答案 0 :(得分:1)
尝试这样的事情
extension = provider[::-1].split('.')[0]
# if not domain == 'USC':
# raise forms.ValidationError("Please make sure you use your USC email.")
if not extension == "ude":
raise forms.ValidationError("Please use a valid .EDU email address")
return email
答案 1 :(得分:0)
异常ValueError: too many values to unpack
是由于根据大小将列表解压缩到不匹配的目标变量而引起的。例如,
>>> a, b, c = 'xxx.yyy.edu'.split('.') # ['xxx', 'yyy', 'edu']
# too few target variables
>>> a, b = 'xxx.yyy.edu'.split('.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
# too many target variables
>>> a, b, c, d = 'xxx.yyy.edu'.split('.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 3 values to unpack
在你的情况下,试试这个,
email = 'usrname@xxx.yyy.edu'
email_base, provider = email.split("@")
if 'edu' in provider.split('.'):
return email
else:
raise forms.ValidationError("Please use a valid .EDU email address")