diff --git a/CineSync/users/models.py b/CineSync/users/models.py index 7da5429..545d85c 100644 --- a/CineSync/users/models.py +++ b/CineSync/users/models.py @@ -1,5 +1,9 @@ +import time + from django.conf import settings from django.db.models import Model, OneToOneField, CASCADE, DateField, CharField +from django.utils.safestring import mark_safe +from sorl.thumbnail import get_thumbnail class Profile(Model): @@ -17,3 +21,31 @@ class Profile(Model): role = CharField( verbose_name='роль пользователя', ) + + def get_upload_path(self, filename): + return f"users/avatars/{self.user_id}/{time.time()}_{filename}" + + def get_image_x300(self): + return get_thumbnail( + self.image, + "300x300", + quality=51, + crop="center", + ) + + def image_tmb(self): + if self.image: + return mark_safe( + f'', + ) + + return "Нет изображения" + + image_tmb.short_description = "превью" + image_tmb.allow_tags = True + + list_display = ["image_tmb"] + + class Meta: + verbose_name = "данные пользователя" + verbose_name_plural = "данные пользователей"