diff --git a/README.md b/README.md new file mode 100644 index 0000000..42a76c6 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# ospaz-site + +## Первый запуск + +после клонирования репозитория и настройки venv нужно выполнить следующие команды: + + python.exe .\manage.py makemigrations users index + python.exe .\manage.py migrate + + + + diff --git a/ospaz_site/settings.py b/ospaz_site/settings.py index 56bf949..a792cfc 100644 --- a/ospaz_site/settings.py +++ b/ospaz_site/settings.py @@ -103,6 +103,8 @@ DATABASES = { # Password validation # https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators +AUTH_USER_MODEL = 'users.User' + AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', diff --git a/users/models.py b/users/models.py index 76f653b..2e33166 100644 --- a/users/models.py +++ b/users/models.py @@ -1,16 +1,17 @@ from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin from django.db import models from django.utils import timezone -from django.utils.translation import gettext_lazy as _ +from django.core.validators import MinLengthValidator from .managers import CustomUserManager -class CustomUser(AbstractBaseUser, PermissionsMixin): - login = models.CharField(16, unique=True) - is_staff = models.BooleanField(default=False) - is_active = models.BooleanField(default=True) - date_joined = models.DateTimeField(default=timezone.now) +class User(AbstractBaseUser, PermissionsMixin): + login = models.CharField(max_length=16, validators=[MinLengthValidator(4)], verbose_name="Логин", unique=True) + is_staff = models.BooleanField(default=False, verbose_name="Администратор") + registered = models.DateTimeField(default=timezone.now, editable=False, verbose_name="Время регистрации") + + last_password_change = models.DateTimeField(default=timezone.now, verbose_name="Последняя смена пароля") USERNAME_FIELD = "login" REQUIRED_FIELDS = [] @@ -19,4 +20,3 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): def __str__(self): return self.login -