Использование response.out.write из включенного файла в Google App Engine - PullRequest
2 голосов
/ 26 марта 2011

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

Я разрабатываю приложение GAE.

В моем основном файле у меня есть несколько обработчиков запросов, например:

class Query(webapp.RequestHandler):
    def post(self):
        queryDOI = cgi.escape(self.request.get('doiortitle'))
        import queryCosine
        self.response.out.write(queryCosine.cosine(queryDOI))

В этом обработчике я импортирую из скрипта queryCosine.py, который выполняет всю работу.Если что-то в скрипте queryCosine завершится неудачно, я бы хотел иметь возможность напечатать сообщение или выполнить перенаправление.

Внутри queryCosine.py есть только обычная функция Python, поэтому, очевидно, что-то вроде

self.response.out.write("Done")

не работает.Что я должен использовать вместо себя или что мне нужно включить в мой включенный файл?Я попытался использовать Query.self.response.out.write, но это не сработало.

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Гораздо лучший, более модульный подход - заставить вашу функцию queryCosine.cosine выдавать исключение, если что-то идет не так.Затем ваш метод-обработчик может вывести соответствующий ответ в зависимости от возвращаемого значения или исключения.Это позволяет избежать ненужного связывания кода, который вычисляет то, что вы вычисляете, с веб-приложением, в котором он находится.

1 голос
/ 26 марта 2011

Передайте его функции.

основной файл:

import second

 ...
  second.somefunction(self.response.out.write)

second.py:

def somefunction(output):
  output('Done')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...