from django import forms from django.contrib.auth.forms import SetPasswordMixin, BaseUserCreationForm from django.contrib.auth.models import User from django.forms import EmailField class RegisterForm(BaseUserCreationForm, SetPasswordMixin): password1, password2 = SetPasswordMixin.create_password_fields() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field_name in self.fields.keys(): self.fields[field_name].widget.attrs.update( { "class": "my-2 bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg " "focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 " "dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 " "dark:focus:border-primary-500" } ) class Meta: model = User fields = ( "email", "first_name", "last_name", ) field_classes = { "email": EmailField, "first_name": forms.CharField, "last_name": forms.CharField, }