добавил всего по мелочи, отредактировал urls, добавил файлы библиотеки Chart.js
This commit is contained in:
@@ -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']
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user