Как прошить ошибку проверки в шаблоне Django

#python #django #django-models #django-forms #django-templates

Вопрос:

У меня есть валидатор для ограничения размера загружаемого поля («трек» и «художественное произведение») внутри формы, я добавил свою функцию валидатора в’validators.py» и установите параметр «валидаторы» в поле «Моя модель». Похоже , это работает, так как приложение автоматически перезагружает форму, если файл слишком велик, но моя ошибка проверки не видна, как я могу отобразить это сообщение об ошибке на экране ? также просто хочу отметить, что я использую «хрустящие формы» для отображения формы загрузки.

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}),
        }