Как обработать файл после сохранения и сохранить новый файл в django и загрузить его в той же функции?

Я хочу, чтобы пользователь загрузил файл, затем я хочу сохранить этот файл (эта часть работает), затем я хочу вычислить данные в этом документе и экспортировать их в results.html. Проблема вот в чем: я уже использовал функцию return, но я хочу сделать некоторые вычисления и сохранить этот файл, чтобы пользователь мог скачать его. Как дополнительно сохранить отредактированный файл и передать его пользователю, чтобы он мог скачать и посмотреть данные?

def my_view(request):
    print(f"Great! You're using Python 3.6+. If you fail here, use the right version.")
    message = 'Upload as many files as you want!'
    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            
            newdoc = Document(docfile=request.FILES['docfile'])
            
            newdoc.save()
            
            #This part is doing calculations for uploaded file
            dfs = pd.read_excel(newdoc, sheet_name=None)
            with pd.ExcelWriter('output_' + newdoc + 'xlsx') as writer:
                for name, df in dfs.items():
                    print(name)
                    data = df.eval('d = column1 / column2')
                    output = data.eval('e = column1 / d')
                    output.to_excel(writer, sheet_name=name)
            
            return redirect('results')
        else:
            message = 'The form is not valid. Fix the following error:'
    else:
        form = DocumentForm()  

    documents = Document.objects.all()

    context = {'documents': documents, 'form': form, 'message': message}
    return render(request, 'list.html', context)


def results(request):
    documents = Document.objects.all()
    context = {'documents': documents}
    return render(request, 'results.html', context)
Вернуться на верх