DJANGO ВАЛИДАЦИЯ USERNAME
Django предоставляет удобный способ для валидации форм, в том числе и валидации имени пользователя (username). Для этого можно использовать класс UserCreationForm
из модуля django.contrib.auth.forms
.
В данном классе уже реализована валидация имени пользователя на уникальность. Также можно добавить дополнительные правила валидации, например, чтобы имя пользователя содержало только буквы и цифры:
class CustomUserCreationForm(UserCreationForm):
class Meta:
model = User
fields = ['username', 'email','password1', 'password2']
def clean_username(self):
username = self.cleaned_data.get('username')
if not username.isalnum():
raise forms.ValidationError("The username should contain only letters and numbers.")
return username
В данном примере мы создали класс CustomUserCreationForm
, который наследуется от класса UserCreationForm
. Добавили поле email, что стандартной форме не имеет. Метод clean_username
реализует валидацию на уникальность и проверку на наличие только букв и цифр в имени пользователя.
#26. Email validation - Unique Email - Django
Django. Урок 5. Формы, валидация форм
What is Manual Form Validation in Django (Complete Logic) - Tutorial for Beginners
Python Django Basic Forms and Validation
Built in Validators and Custom Validators in Django (Hindi)
#14. Формы, связанные с моделями. Пользовательские валидаторы - Django уроки
Django Authentication \u0026 User Management - Full Tutorial
#23. Form Validations - Django - Hindi
Новые материалы: