Добрый день. Пытаюсь сделать простой загрузчик изображений с ограничением. Уже 2 дня пытаюсь решить данную задачу, но пока никак
Вопрос 1: Как сделать ограничение загружаемого объекта до 200 кб?
Мои попытки:
models.py
class UploadImage(models.Model):
title = models.CharField(max_length=100, unique=True, verbose_name='Введите название изображения')
cover = models.ImageField(upload_to='images/', verbose_name='')
def __str__(self):
return self.title
forms.py
class PostForm(forms.ModelForm):
class Meta:
model = UploadImage
fields = ['title', 'cover']
def clean_image(self):
cover = self.cleaned_data.get('cover', False)
if cover:
if cover.size > 4*1024*1024:
raise ValidationError("Image file too large ( > 4mb )")
return cover
else:
raise ValidationError("Couldn't read uploaded image")
Почему-то данный метод не работает, хоть тут и речь про 4мб
2. Как ссылаться на объект message из вьюшки?
views.py
class IndexView(LoginRequiredMixin, CreateView):
template_name = 'upload/index.html'
form_class = PostForm
model = UploadImage
success_url = '/upload/'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['message'] = ''
return context
Хочу создать в той же самой проверке формы информационное сообщение, если форма отработала корректно или нет.
Пытался как-то так:
if 1 + 2 == 3:
IndexView.get_context_data(self, message) = 'Всё верно'
else:
IndexView.get_context_data(self, message) = 'Неверно'