Как прошить ValidationError в шаблоне Django
У меня есть валидатор для ограничения размера загружаемого поля ('track' & 'artwork') внутри формы, я добавил свою функцию валидатора в 'validators.py' и установил параметр валидации для моего поля модели. Это, кажется, работает, так как приложение автоматически перезагружает форму, если файл слишком большой, но моя ValidationError не видна, как я могу вывести сообщение об ошибке на экран? Также хочу отметить, что я использую 'crispy forms' для отображения формы загрузки.
validators.py
from django.core.exceptions import ValidationError
def file_size(value):
filesize = value.size
if filesize > 5242880:
raise ValidationError("The maximum file size that can be uploaded is 5MB")
else:
return value
models.py
class Music(models.Model):
track = models.FileField(upload_to='path/to/audio', validators=[file_size])
title = models.TextField(max_length=50)
artwork = models.ImageField(upload_to='path/to/img', validators=[file_size])
artist_name = models.TextField(max_length=50)
artist = models.ForeignKey(User, on_delete=models.CASCADE)
date_posted = models.DateTimeField(default=timezone.now)
forms.py
class MusicForm(forms.ModelForm):
class Meta:
model = Music
fields = ['title', 'artist_name', 'track', 'artwork']
help_texts = {
'track': ('Max mp3 size: 5 MB'),
'artwork': ('Max image size: 5 MB'),
}
widgets = {
'title': forms.Textarea(attrs={'rows':1, 'cols':1}),
'artist_name': forms.Textarea(attrs={'rows':1, 'cols':1}),
}