I want have custom validation for User to create name user with whitespaces in name. I do this like below but, I create User2 and change regex expression but it not changed validation conditions, it's not work. Have anybody idea why or how instead of I can do it?
models
from django.utils.translation import gettext_lazy as _
from django.contrib.auth.models import User
from django.contrib.auth.validators import UnicodeUsernameValidator
class MyUnicodeUsernameValidator(UnicodeUsernameValidator):
print('test My')
regex = r'^[\d]'
message = _(
'Enter a valid username. This value may contain only letters, '
'numbers, and @/./+/-/_ characters.'
)
flags = 0
class User2(User):
username_validator = MyUnicodeUsernameValidator()
print(username_validator)
view
from django.shortcuts import render, get_object_or_404
from .models import User2
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import logout
from blog.models import Article
class MyUserCreationForm(UserCreationForm):
class Meta:
model = User2
fields = ("username",)
def sign_up(request):
context = {}
form = MyUserCreationForm(request.POST or None)
if request.method == "POST":
if form.is_valid():
form.save()
return render(request, 'accounts/index.html')
context['form'] = form
return render(request,'registration/sign_up.html', context)