Вывод ошибки не связанной с валидацией формы

Никак не могу понять как выводить ошибку не связанную с валидацией формы, т.е. форма прошла валидацию но во время "обработки" файлов в "merge_files" произошла ошибка.
Как показать ошибку не прерывая работу view, а так же избежать повторной загрузки файлов при F5(т.е. если убрать redirect, отработает render и покажет все что необходимо, но тогда возникает проблема с F5)!?

Если делать redirect как в примере, то ошибку не получить.

forms.py

class UploadFileForm(forms.Form):
    title = forms.CharField(max_length=50, required=False)
    file1 = forms.FileField()
    file2 = forms.FileField()

    def clean_file1(self):
        validate_file(self.cleaned_data['file1'])

    def clean_file2(self):
        validate_file(self.cleaned_data['file2'])

views.py

app_name = 'base'

def uploadFile(request):
    data = {}
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        data['form'] = form

        if form.is_valid():
            file1 = request.FILES['file1']
            file2 = request.FILES['file2']

            merge_files(file1, file2, data)
            
            return redirect(f'{app_name}:index-base')
    else:
        data['form'] = UploadFileForm()
    return render(request, template, data)


def merge_files(file1, file2, data):
    try:
        # ...
    except Exception as ex:
        data['ErrorMessage'] = f'Ошибка слияния файлов: {ex}'

Возможно я вообще сбился с пути и файлы надо проверять при валидации формы и писать все ошибки в ValidationError.

Вообще цель следующая:

  1. Получить файлы
  2. Проверить что файлы имеют правильное расширение, тип и т.д.
  3. Обработать файлы
    3.1. Если при обработке возникла ошибка, показать ее и продолжить выполнять view.
  4. Показать форму загрузки(если есть ошибки их так же показать)
  5. Показать таблицу с загруженными фалами(ошибочными в том числе).
Вернуться на верх