Отправка CSV клиенту по SSE при генерации файла

Я изучаю Django на лету, поэтому извините, если это глупый вопрос, я думаю, что ответ - нет.

Я хочу передать сгенерированный CSV-файл клиенту и автоматически загрузить его после завершения работы. Изначально я собирался создать для этого представление, но у меня не получается вызвать функцию представления из внешней функции. Представление передает данные формы внешней функции для обработки.

Views.py:

def viewsFunc(request):
if request.method == "POST":
    csvUpload = pd.read_csv(request.FILES['filename'])
    userName = request.POST['Username']
    password = request.POST['Password']

    x = threading.Thread(target=externalScript.externalFunc, args=[csvUpload, userName, password])
    x.setDaemon(False)
    x.start()
    return render(request, 'app/htmlPage.html')

externalScript.py:

def externalFunc(csvUpload, userName, password):
    'do stuff & sends data to client, create CSV'
    send_event('test', 'message', {'text': data})

Как вы можете видеть, я не могу вернуть response отсюда вне views.py, поэтому я не уверен, возможно ли это, или какова будет лучшая практика. В лучшем случае я передаю CSV клиенту без сохранения на сервере.

Вернуться на верх