Мой forms.py выглядит следующим образом. >
Код: Выделить всё
from django.contrib.auth.forms import UserCreationForm
from django.core.exceptions import ValidationError
from .models import User
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = User
fields = ('first_name','last_name','email','date_of_birth', 'gender', 'user_type', 'phone', 'address','photo', 'password1', 'password2' )
error_messages = {
field: {
'required': f"{field.replace('_', ' ').title()} is required."
}
for field in fields
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field_name in self.fields:
self.fields[field_name].error_messages.update(self.Meta.error_messages[field_name])
Код: Выделить всё
class UserRegisterView( FormView ):
template_name = 'register.html'
form_class = CustomUserCreationForm
redirect_authenticated_user = True
success_url = reverse_lazy('dashboard')
def form_valid( self, form ):
user = form.save()
if user is not None:
login( self.request, user )
return super( UserRegisterView, self ).form_valid( form )
def get( self, *args, **kwargs ):
if self.request.user.is_authenticated:
return redirect('dashboard')
return super( UserRegisterView, self ).get( *args, **kwargs )
def form_invalid(self, form):
return super(UserRegisterView, self).form_invalid(form)
Код: Выделить всё
PassWord Confirmation
{% if form.password2.errors %}
{{ form.password2.errors }}
{% endif %}
Подробнее здесь: https://stackoverflow.com/questions/785 ... tion-field