Я хочу вызвать ошибку при отправке запроса, если сейчас есть какие-либо ошибки. Я использую clean_field в этой миссии, но получаю это исключение: элемент № 0 последовательности обновления словаря имеет длину 208; Требуется 2
Я использовал все, что могу использовать для ошибок, но, наконец, нашел подходящий способ для этой миссии, в данном случае это ValidatinError, поэтому как я могу исправить эту ошибку?
forms.py
from django.contrib.auth.forms import UserCreationForm, UserChangeForm, PasswordResetForm
from django import forms
from django.contrib.auth.models import User
from .models import UserProfile
from django.forms import ValidationError
# UserCreationForm
class SignUp(UserCreationForm):
email = forms.EmailField(required=True)
first_name = forms.CharField(required=True)
last_name = forms.CharField(required=True)
class Meta:
model = User
fields = ['username',
'first_name',
'last_name',
'password1',
'password2',
'email']
def clean_username(self):
data = self.cleaned_data['username']
if User.objects.filter(username=data).exists():
raise ValidationError('username is already exists')
return data
def clean_email(self):
data = self.cleaned_data['email']
if User.objects.filter(email=data).exists():
raise ValidationError('email is already exists')
return data
views.py
# User registration
class Register(CreateView):
template_name = 'account/register.html'
form_class = SignUp
success_url = reverse_lazy('account:login')