pp upload: size limit in django settings
This commit is contained in:
parent
f2981f6309
commit
9e86af9826
@ -14,7 +14,7 @@ def upload_to(instance, filename: str):
|
||||
# Create your models here.
|
||||
class ProfileModel(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
avatar_url = models.ImageField(upload_to=upload_to, default="./profiles/static/avatars/default.avif") #blank=True, null=True)
|
||||
avatar_url = models.ImageField(upload_to=upload_to, default="./profiles/static/avatars/default.avif")
|
||||
|
||||
def get_game(self) -> int:
|
||||
for game in game_manager._game_list:
|
||||
|
@ -8,6 +8,8 @@ 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
|
||||
@ -55,8 +57,8 @@ class MyProfileViewSet(viewsets.ModelViewSet):
|
||||
|
||||
def perform_update(self, serializer, pk=None):
|
||||
profile: ProfileModel = self.get_object()
|
||||
avatar = self.request.data.get("file", None)
|
||||
if (avatar is not None and avatar.size <= 2 * 1024 * 1024):
|
||||
avatar : InMemoryUploadedFile = self.request.data.get("file", None)
|
||||
if (avatar is not None and avatar.size <= settings.PROFILE_PICTURE_MAX_SIZE):
|
||||
if (profile.avatar_url.name != "./profiles/static/avatars/default.avif"):
|
||||
profile.avatar_url.storage.delete(profile.avatar_url.name)
|
||||
profile.avatar_url = avatar
|
||||
|
@ -160,3 +160,7 @@ STATIC_URL = 'static/'
|
||||
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
|
||||
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
|
||||
# Profile picture upload limit
|
||||
|
||||
PROFILE_PICTURE_MAX_SIZE = 2 * 1024 * 1024 # 2MB
|
||||
|
Loading…
Reference in New Issue
Block a user