pp upload: image verification using serializers

This commit is contained in:
AdrienLSH
2024-02-08 17:21:26 +01:00
parent 68df50cbeb
commit b66088fe69
3 changed files with 15 additions and 6 deletions

View File

@ -8,8 +8,6 @@ from rest_framework.authentication import SessionAuthentication
from django.http import HttpRequest
from django.db.models import QuerySet
from django.contrib.auth.models import User
from django.core.files.uploadedfile import InMemoryUploadedFile
from django.conf import settings
from .serializers import ProfileSerializer
from .models import ProfileModel
@ -56,9 +54,11 @@ class MyProfileViewSet(viewsets.ModelViewSet):
return obj
def perform_update(self, serializer, pk=None):
profile: ProfileModel = self.get_object()
avatar : InMemoryUploadedFile = self.request.data.get("file", None)
if (avatar is not None and avatar.size <= settings.PROFILE_PICTURE_MAX_SIZE):
serializer.is_valid(raise_exception=True);
profile: ProfileModel = self.get_object();
avatar = serializer.validated_data.get('avatar');
if (avatar is not None):
if (profile.avatar.name != "./profiles/static/avatars/default.avif"):
profile.avatar.storage.delete(profile.avatar.name)
profile.avatar = avatar