【发布时间】:2018-09-18 10:53:12
【问题描述】:
我正在尝试创建一个注册表单。一切正常,直到我尝试引发验证错误以防电子邮件已经存在。它说,'User' object has no attribute 'ValidationError'
这就是我所做的,
def register(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
new_form = form.save(commit=False)
mail = form.cleaned_data['email']
if User.objects.filter(email=mail).exists():
raise new_form.ValidationError('Looks like email already exists')
else:
new_form.save()
username = request.POST.get('username')
password = request.POST.get('password1')
user = authenticate(username=username, password=password)
login(request, user)
return redirect(reverse('accounts:profile'))
else:
form = RegistrationForm()
我们如何解决这个问题?
【问题讨论】:
-
你可以在views.py和forms.py中发布你的导入
-
@VipinMohan 先生,我将其导入为
from django.core.exceptions import ValidationError。此外,如果我从 View 中删除此 ValidationError 行,一切都会开始正常工作! -
尝试导入 forms.ValidationError,而不是 core.exceptions.ValidationError
标签: python django django-forms