Отправка 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 клиенту без сохранения на сервере.