Как ограничить размер файла изображения в поле image в панели администратора django (на стороне клиента)?
У меня есть несколько встроенных полей, в которых есть поле изображения, что я пытаюсь сделать, это определить размер файла во время выбора изображения, при выборе я хотел бы ограничить пользователя до того, как запрос был отправлен. и я могу сделать проверку размера файла на сервере с помощью валидаторов, но в нескольких случаях даже до того, как валидатор может обработать проблему, я получаю исключение 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