Есть ли способ обслуживания файла в django, который генерируется в потоке? - PullRequest
0 голосов
/ 27 февраля 2020

Я объясню.

В моей сети Django есть кнопка, которая вызывает представление.

#The view that's being called
def pil_image(request, pdv_id):
    fp=FileProcesor(request,pdv_id) 
    th = threading.Thread(target=fp.process)
    th.start()
    messages.success(request,"The file is being generated, when it's ready you'll be able to download it")
    return redirect('punto-de-venta',pdv_id)

Класс FileProcesor имеет метод процесс , который генерирует ZIP-файл. Проблема в том, что иногда этот файл занимает слишком много времени для обработки. Вот почему я создаю файл в теме. Но как только файл готов, я не могу перенаправить пользователя в файл. Я хочу, чтобы, когда файл был готов автоматически, пользователю показывалось «стандартное всплывающее окно загрузки».

Если я использую этот код, вместо этого отображается сообщение о загрузке, но сеть «заморожена» до тех пор, пока файл не будет создан.

def pil_image(request, pdv_id):
    fp=FileProcesor(request,pdv_id)     
    return fp.process()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...