Files
shoppy/users/forms/register.py
T
2025-05-02 08:38:57 +02:00

38 lines
1.5 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}