From bbf75d3e7dc22e6a0009f7d24b3b3b7ce710a66c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= Date: Tue, 9 Apr 2024 20:27:28 +0500 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CineSync/users/models.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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 = "данные пользователей"