передавать данные из класса на веб-страницу в колбе - PullRequest
0 голосов
/ 26 мая 2019

Я собрал несколько определений в классе, чтобы выполнить перевод текста на другой язык с помощью Bing или Google translation API.и использование Flask для визуализации шаблонов, о которых вы, возможно, знаете.

Однако, когда я выполняю перевод, у меня есть некоторая информация о статусе и прогрессе, например, выполненные 10% и т. д. во время перевода абзацев.но эта информация, сгенерированная в классе перевода, как вы можете себе представить, - класс выполняет работу по переводу.

Однако в моем приложении Flask после вызова класса выполняется перевод. Я хочу получить вызов ajax с веб-страницы.в приложение Flask, чтобы получить 10% информации, сгенерированной из этого класса.

Вот что я сделал:

  1. Если я не использую какой-либо класс, введитевсе определения в основном файле приложения Flask. Я могу использовать глобальную переменную для хранения информации 10%, но это усложняет кодирование, и я хочу упаковать все связанные определения в классе.

  2. в приложении Flask я пытался использовать сессию ['translation_pos'] для извлечения информации, которую я сохранил в сессии ['translation_pos'] в классе, но, похоже, она не работает.

Я использую Python 3 и Flask, я не знаю, как получить эту информацию о проценте прогресса из класса - где сгенерированные данные - в приложение.

Может быть одним из способоввесЯ хотел бы сохранить номер в текстовом файле или в некоторых местах и ​​прочитать файл в приложении, но я подумал, что, конечно, не должен быть способ решения этих проблем.

Кто-нибудь мог бы посоветовать с какой-нибудь идеейэто будет высоко ценится.

Спасибо всем.

1 Ответ

0 голосов
/ 27 мая 2019

Возможно, вы захотите взглянуть на другой подход к выполнению задачи, используя что-то вроде Celery или Redis Queue - очень хорошо освещено здесь, в мега-учебнике .

С помощью одного из них вы можете запустить задачу и периодически запрашивать у бегуна ход выполнения, чтобы сообщить о ней пользователю.

Если бы это был я, для обработки данных ябудет хранить это в базе данных.Когда задача завершена, она запрашивается и передается в пользовательский интерфейс как переменная шаблона (или передается из функции ajax, если это большой набор данных).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...