Skip to content

Instantly share code, notes, and snippets.

@rudmanmrrod
Last active November 19, 2018 16:07
Show Gist options
  • Save rudmanmrrod/9b0fa0794b1c0e503bddbebb926e159c to your computer and use it in GitHub Desktop.
Save rudmanmrrod/9b0fa0794b1c0e503bddbebb926e159c to your computer and use it in GitHub Desktop.
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class RegisterForm(UserCreationForm):
class Meta:
model = User
fields = ['password1', 'password2',
'first_name', 'last_name', 'email', 'username']
dni_number = forms.IntegerField(widget=forms.NumberInput(attrs={'class': 'form-control',
'placeholder': 'DNI Number', 'v-model': 'dni_number'}))
address = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control',
'placeholder': 'Address', 'v-model': 'address'}))
zip_code = forms.IntegerField(widget=forms.NumberInput(attrs={'class': 'form-control',
'placeholder': 'DNI Number', 'v-model': 'zip_code'}))
gender = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control', 'v-model': 'gender'}),
choices = (('M','MALE'),('F','FEMALE')))
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['username'].widget.attrs.update(
{'class': 'form-control', 'placeholder': 'Username', 'autofocus': False,
'v-model': 'username'})
self.fields['password1'].widget.attrs.update(
{'class': 'form-control','placeholder': 'Password', 'v-model': 'password1'})
self.fields['password1'].required = True
self.fields['password2'].widget.attrs.update(
{'class': 'form-control', 'placeholder':'Password Repeat', 'v-model': 'password2'})
self.fields['password2'].required = True
self.fields['email'].widget.attrs.update(
{'class': 'form-control', 'placeholder': 'Email', 'v-model': 'email'})
self.fields['email'].required = True
self.fields['first_name'].widget.attrs.update(
{'class': 'form-control','placeholder': 'First Name', 'v-model': 'first_name'})
self.fields['first_name'].required = True
self.fields['last_name'].widget.attrs.update(
{'class': 'form-control', 'placeholder':'Last Name', 'v-model': 'last_name'})
self.fields['last_name'].required = True
def clean(self):
cleaned_data = super(RegisterUserForm, self).clean()
email = cleaned_data.get("email")
password1 = cleaned_data.get("password1")
password2 = cleaned_data.get("password2")
if password1 != password2:
msg = "Password not match"
self.add_error('password1', msg)
if email:
msg = _("Error on mail: %s, has been used\
") % (email)
try:
User.objects.get(email=email)
self.add_error('email', msg)
except:
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment