добавил всего по мелочи, отредактировал urls, добавил файлы библиотеки Chart.js

This commit is contained in:
2024-01-02 20:31:18 +03:00
parent 1ac1a8cc14
commit 4c94a7271a
13 changed files with 378 additions and 13 deletions

View File

@@ -1,8 +1,13 @@
from django.contrib import admin
from .models import User
from django.contrib.auth.models import Group
admin.site.unregister(Group)
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
list_display = ['id', 'login', 'is_superuser', 'registered', 'last_password_change']
readonly_fields = ['id', 'registered']
# fields = ['id', 'login', 'is_superuser', 'registered', 'last_password_change', 'last_login']
list_display = ['id', 'login', 'is_superuser', 'registered', 'last_password_change', 'last_login']
readonly_fields = ['id', 'registered', 'last_login', 'last_password_change']

View File

@@ -6,14 +6,23 @@ from django.core.validators import MinLengthValidator
from .managers import CustomUserManager
class User(AbstractBaseUser, PermissionsMixin):
class User(AbstractBaseUser):
login = models.CharField(max_length=16, validators=[MinLengthValidator(4)], verbose_name="Логин", unique=True)
is_staff = models.BooleanField(default=False, verbose_name="Разрешение на вход в админку")
password = models.CharField(verbose_name="Пароль", max_length=128)
last_login = models.DateTimeField(verbose_name="Последний вход", blank=True, null=True)
is_superuser = models.BooleanField(default=False, verbose_name="Администратор")
registered = models.DateTimeField(default=timezone.now, editable=False, verbose_name="Время регистрации")
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.is_staff = self.is_superuser
last_password_change = models.DateTimeField(default=timezone.now, verbose_name="Последняя смена пароля")
def set_password(self, raw_password):
super().set_password(raw_password)
self.last_password_change = timezone.now()
USERNAME_FIELD = "login"
REQUIRED_FIELDS = []
@@ -21,3 +30,12 @@ class User(AbstractBaseUser, PermissionsMixin):
def __str__(self):
return self.login
class Meta:
default_permissions = ()
def has_perm(self, perm, obj=None):
return self.is_superuser
def has_module_perms(self, package_name):
return self.is_superuser