Как ограничить размер файла изображения в поле image в панели администратора django (на стороне клиента)?

У меня есть несколько встроенных полей, в которых есть поле изображения, что я пытаюсь сделать, это определить размер файла во время выбора изображения, при выборе я хотел бы ограничить пользователя до того, как запрос был отправлен. glimpse of my admin panel и я могу сделать проверку размера файла на сервере с помощью валидаторов, но в нескольких случаях даже до того, как валидатор может обработать проблему, я получаю исключение DATA_UPLOAD_MAX_MEMORY_SIZE, я увеличил размер, но все равно получаю ошибку, что тело запроса превышает максимальный размер загрузки.

вот мой код для изображения меню

class MenuImage(models.Model):
    """Salon Image Model"""
    class Meta:
        verbose_name = _("Menu Image")
        verbose_name_plural = _("Menu Images")

    salon = models.ForeignKey(
        Salon, on_delete=models.CASCADE, related_name='menu_images', null=True, blank=True)
    image = models.ImageField(upload_to='salon_images',
                              help_text="Dimensions should in 175 x 100 px")

    def __str__(self):
        return self.salon.full_name
    
    def save(self, *args, **kwargs):
        compressed_image = ImageResizing.custom_resizing_and_compress(self.image)
        self.image = compressed_image
        super().save(*args, **kwargs)

и вот как я использую его в качестве встроенного поля

class SalonModelAdmin(DjangoObjectActions, admin.ModelAdmin):
    inlines = [OpeningHoursInline, GalleryInline,MenuImageInline,
               SalonBankDetailInline, SalonLegalDocumentInline, SalonContactInline]
    fields = ("full_name","contact_number","neighbourhood",
                "salon_location","explore","salon_service","home_services",
                "featured","categories","commission",
                "cover_image","transportation_cost",
                "home_service_order_limit","logo_image",
                "salon_description","preference","auto_booking",
                "trending", "disable",)
    list_display = ("salon", "featured", "home_services",
                    "contact_number", "commission",)
    search_fields = ['full_name']
    list_filter = ("featured", "trending", "home_services",
                   "full_name", "preference", "disable", 
                   "categories", 'neighbourhood', ExploreSalonForSalonModelFilter)
    actions = [export_salons_as_csv]

и в настоящее время в моих настройках я произвольно задал большое число

DATA_UPLOAD_MAX_MEMORY_SIZE = 9942880
Вернуться на верх