Files
shoppy/users/forms/register.py
T
2025-01-17 12:06:24 +01:00

46 lines
1.6 KiB
Python

from django import forms
from django.contrib.auth.forms import BaseUserCreationForm, SetPasswordMixin
from django.contrib.auth.models import User
from django.forms import EmailField
from django.utils.text import gettext_lazy as _
from web.mixins import StylingMixin
class RegisterForm(StylingMixin, BaseUserCreationForm, SetPasswordMixin):
password1, password2 = SetPasswordMixin.create_password_fields()
styled_fields = ["email", "first_name", "last_name", "password1", "password2"]
placeholder_for_field = {
"email": _('pablo@shoppy.com'),
"first_name": _("Pablo"),
"last_name": _("Moreno"),
"password1": "********",
"password2": "********",
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field_name in self.fields.keys():
self.fields[field_name].required = True
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,
}