Я настраиваю пользовательскую регистрационную форму для создания учетной записи в моем Django проекте. Я чувствую, что мне не хватает чего-то очень простого, что мешает мне зарегистрироваться по какой-то причине. Моя форма регистрации требует 4 поля для заполнения, прежде чем новый пользователь может зарегистрироваться. Из этих 4 полей два являются только подтверждением адреса электронной почты.
Вот копия моего form.py:
class UserRegisterForm(forms.ModelForm):
username = forms.CharField(label='Username')
email = forms.EmailField(label='Email Address')
email2 = forms.EmailField(label='Confirm Email')
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = CustomUser
fields = ['username', 'email', 'email2', 'password']
def clean_email(self):
email = self.cleaned_data.get('email')
email2 = self.cleaned_data.get('email2')
if email != email2:
raise forms.ValidationError("Emails do not match")
А вот копия моего view.py :
def register_view(request):
next = request.GET.get('next')
form = UserRegisterForm(request.POST or None)
if form.is_valid():
user = form.save(commit=False)
password = form.cleaned_data.get('password')
user.set_password(password)
user.save()
new_user = authenticate(username=user.username, password=password)
login(request, new_user)
if next:
return redirect(next)
return redirect('/home/')
context = {'form':form, "title":"register"}
return render(request, "register.html", context)
Вот мой html файл:
<h2><center><font color="white">Register Here:</font></center></h2>
<form method="POST"><center>
{% csrf_token %}
{{form}}
<input type="submit" />
</center></form>
Всякий раз, когда я пытаюсь зарегистрироваться в качестве нового пользователя, возникает ошибка проверки формы, которая говорит о том, что мои два электронных письма не совпадают (я копирую и вставляю их, чтобы убедиться, что они идентичны).
Я чувствую, что мне не хватает того, что находится прямо у меня под носом ...
Приветствую всех вас и большое спасибо.